題目描述
輸入一個正整數,輸出該數的數根。數根可以通過把一個數的各個位上的數字加起來得到。如果得到的數是一位數,那么這個數就是數根。如果結果是兩位數或者包括更多位的數字,那么再把這些數字加起來。如此進行下去,直到得到是一位數為止。比如,對於24來說,把2和4相加得到6,由於6是一位數,因此6是24的數根。再比如39,把3和9加起來得到12,由於12不是一位數,因此還得把1和2加起來,最后得到3,這是一個一位數,因此3是39的數根。
要求使用函數,定義函數digitSum(int n)求n的各位數字和,其余功能在main()函數中實現。
int digitSum(int n)
{
//函數返回n的各位數字之和
}
對於C/C++代碼的提交,本題要求必須通過定義digitSum函數和main函數實現,否則,提交編譯錯誤,本題需要提交完整程序代碼。
輸入
輸入一個int范圍內的正整數n
輸出
輸出n的數根
樣例輸入
39
樣例輸出
3
#include<stdio.h> int digitSum(int n) { int s=0; while(n!=0) {s+=n%10; n/=10;} if(s>=10) digitSum(s); else printf("%d",s); return 0;} int main() { int x; scanf("%d",&x); digitSum(x); return 0; }