写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和
例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
输入:1729,输出:19
1.先写一个主函数,创建DigitSum
int main()
{
int n;
scanf("%d", &n);
printf("%d", DigitSum(n));
return 0;
}
2.用递归的思想一步步把一个整数的每一位求出来相加
解释一下return DigitSum(n / 10) + n % 10
ex:1234输入
则return1=123+4
return2=12+3+4
return3=1+2+3+4
return4由于1<9,无法执行,跳出循环
故结果为1+2+3+4=12
over!
int DigitSum(int n)//1729
{
if (n > 9)
return DigitSum(n / 10) + n % 10;
else
return n;
}