ในส่วนนี้เราจะมาดูวิธีการหาผลรวมของตัวเลขโดยไม่ต้องเขียนหลายประโยค กล่าวคือ เราจะหาผลรวมของหลักในคำสั่งเดียว
อย่างที่เราทราบกันดีว่า ในการหาผลรวมของหลัก เราตัดหลักสุดท้ายโดยนำเศษที่เหลือหารตัวเลขด้วย 10 แล้วหารตัวเลขด้วย 10 ซ้ำแล้วซ้ำเล่าจนได้ตัวเลขเป็น 0
เพื่อทำงานเหล่านี้ในคำสั่งเดียว สามารถใช้ for วนซ้ำได้ อย่างที่เราทราบกันดีว่ามีสามส่วนที่แตกต่างกันใน for loop ในขั้นตอนการเริ่มต้นเราไม่ได้ทำอะไรในกรณีนี้ จากนั้นในขั้นตอนการตรวจสอบเงื่อนไขจะตรวจสอบว่าตัวเลขนั้นมากกว่า 0 หรือไม่ ในขั้นตอนการลดทีละน้อย เรากำลังดำเนินการหลายอย่าง ขั้นแรก เรากำลังเพิ่มผลรวมโดยเอาหลักสุดท้ายของตัวเลข และลดจำนวนลงด้วยการหารด้วย 10
โค้ดตัวอย่าง
#include<stdio.h> main() { int n, sum = 0; printf("Enter a number: "); //take the number from the user scanf("%d", &n); for(; n > 0; sum += n%10, n/= 10) { } printf("The sum of digits: %d", sum); }
ผลลัพธ์ 1
Enter a number: 457 The sum of digits: 16