ในส่วนนี้เราจะมาดูวิธีการหาผลรวมของตัวเลขโดยไม่ต้องเขียนหลายประโยค กล่าวคือ เราจะหาผลรวมของหลักในคำสั่งเดียว
อย่างที่เราทราบกันดีว่า ในการหาผลรวมของหลัก เราตัดหลักสุดท้ายโดยนำเศษที่เหลือหารตัวเลขด้วย 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