方法:可以用所输入的整数,进行模运算,因为要利用递归,所以在运算过程中,要找到递归限制条件,在什么时候可以找到递归的出口。
/*递归过程:
* 例:输入1279
DigitSum(1279 / 10) + 1279% 10;
DigitSum(127 / 10) + 127 % 10;
DigitSum(12/ 10) + 12% 10;
DigitSum(1/ 10) + 1 % 10;
1+2+7+9=19;
*/
int DigitSum(unsigned int num)
{
if (num > 9)
{
return DigitSum(num / 10) + num % 10;
}
else
{
return num;
}
}
int main()
{
unsigned int num = 0;
scanf_s("%d", &num);
int ret = DigitSum(num);
printf("ret=%d", ret);
return 0;
}