- 写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和,
例如,调用DigitSum(1729),则应该返回1 + 7 + 2 + 9,它的和是19
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int DigitSum(int input)
{
if (input / 10 == 0)//跳出递归
{
return input % 10;
}
int sum = 0;
sum += input % 10;
sum += DigitSum(input/10);
return sum;
}
//1729
//1729/10=172
//172/10=17
//17/10=1
//1/10=0
int main()
{
int input = 0;
printf("输入一个非负整数,本程序会返回组成它的数字之和:>");
scanf("%d",&input);
int sum = DigitSum(input);
printf("组成它的数字之和为:%d",sum);
return 0;
}