题目:
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19 。
代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
#include<string.h>
#pragma warning(disable:4996)
int DigitSum(int data)
{
if (data <= 9)
{
return data;
}
return DigitSum(data / 10) + data % 10;
}
int main()
{
int data = 0;
printf("please input a number:");
scanf("%d",&data);
printf("sum= %d\n",DigitSum(data));
system("pause");
return 0;
}