写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

时间:2023-03-08 20:12:58

例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19。

思路:我们可以先将整数的每一个数字取出来,每次取个位数字,取完后退位(将数字除以10),在取个位数字,依次取出所有的数字。在进行求和操作,并返回它的和。

 #include<stdio.h>

 int Digit_num(int num)
{
//
if (num < )
{
return num;
}
else
{
return num % + Digit_num(num / );
} } int main()
{
int num = ;
printf("请输入所求的数字:\n");
scanf("%d",&num);
int find_num = Digit_num(num);
printf("%d\n",find_num); return ;
}