写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
#include<stdio.h>
int main()
{
int DigitSum(n);
int a;
printf("请输入一个数字\n");
scanf("%d",&a);
printf("组成它的数字之和为%d\n",DigitSum(a));
return 0;
}
int DigitSum(n)
{
int sum=0;
int tmp=0;
if(n!=0)
{
tmp=n%10;
n=n/10;
sum=tmp+DigitSum(n);
}
return sum;
}
<img src="https://img-blog.csdn.net/20150407144521641?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUzBTb3Vs/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />