1.题目
写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,例如,调用DigitSum(1729),则应该返回1+7+2+9,它的和是19
2.程序代码
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <Windows.h>
int DigitSum(int n)
{
if (n < 10)
{
return n;//如果这个数比10小,直接返回这个数
}
else
{
return (n % 10) + DigitSum(n / 10);//调用函数本身,取出下一位
}
}
int main()
{
int n = 0;
printf("please input a number:");
scanf("%d", &n);
printf("%d\n", DigitSum(n));
system("pause");
return 0;
}