可以透過循環或遞迴的方式來分解數字n的每一位數字,並將它們加起來。這裡我將使用循環的方法來解釋並實現這個函式。基本思路是對數字n進行模10操作以獲得其最後一位的數字,然後將n除以10以移除最後一位的數字。重複這個過程,直到n等於0為止。每次獲得的最後一位數字都加到總和中。
c
Copy code
#include <stdio.h>
int SumOfDigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10; // 取得 n 的最後一位數字並加到 sum 上
n /= 10; // 移除 n 的最後一位數字
}
return sum;
}
int main() {
int n = 1236;
int k = SumOfDigits(n);
printf("Sum of digits of %d is %d\n", n, k);
n = 58;
k = SumOfDigits(n);
printf("Sum of digits of %d is %d\n", n, k);
return 0;
}
這段代碼定義了SumOfDigits函式,它接受一個整數n作為參數,並返回n的所有位數之和。main函式中有兩個範例調用了SumOfDigits函式,並打印出結果,符合題目要求。