本程式示範如何使用取餘數 (%) 與整數除法 (/) 將一個正整數的每一位數字拆解並累加,求出所有位數之和。
輸入一個大於或等於 10 的整數,計算其各位數字之和。例如輸入 12345,輸出 1+2+3+4+5=15。
re_num 保存原始輸入,避免修改原值。while (re_num) 迴圈,條件為 re_num != 0。sum += re_num % 10 取得個位數並加總。re_num /= 10 去除個位數。re_num 變為 0,完成所有位數處理。/* 程式標頭註解 */
#include <stdio.h>
void star(void);
int main()
{
int num, re_num, sum = 0;
star();
printf("輸入一個大於或者等於10的整數:");
scanf("%d", &num);
re_num = num;
while(re_num)
{
sum += re_num % 10;
re_num /= 10;
}
printf("\n%d的各位之和為%d.\n", num, sum);
printf("\n哈哈, 謝謝您的合作!\nGOOD BYE!\n");
star();
return 0;
}
void star(void)
{
int i;
for(i = 0; i < 60; i++) printf("*");
printf("\n");
}

% 在 C99 中結果為負,需先取絕對值或轉為無號整數處理。long long 範圍),需以字串處理逐字元轉換加總。