1、写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和.
例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
2、思路:对10取整,直到取整为零时结束,并返回余数部分;整数的值加余数部分即可。
3、程序:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int DigitSum(n);
int main()
{
printf("input number:");
int n;
scanf("%d", &n);
int sum = DigitSum(n);
printf("%d", sum);
system("pause");
return 0;
}
int DigitSum(n)
{
if (n/10== 0)
{
return n%10;
}
return DigitSum(n / 10) + DigitSum(n % 10);
}
4、结果: