1、概念理解
写一个递归函数DigitSum( ),返回输入的每个数位上的数之和。例如调用Digit Sum(1729),则应该返回1+7+2+9,它的和是19。
2、代码实现
在这里插入#include<stdio.h>
int DigitSum(int x)
{
int i = 0;
int sum = 0;
while (x > 10)//设置循环条件
{
i = x % 10;//随着循环进行,从低位到高位依次获取各个位上的数字
x = x / 10;
sum += i;//逐个数相加
}
sum = sum + x;//加上最高位上的数
return sum;
}
int main()
{
int x = 0;
scanf("%d", &x);//输入数字
printf("%d", DigitSum(x));
return 0;
}
代码片