C语言:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

题目:写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和

例如,调用DigitSum(1729),则应该返回1 + 7 + 2 + 9,它的和是19

此题的解决思路为:定义一个数字n,若n<9,则函数的返回值直接为n。若n>9,此时要采用递归,拆出n的最后一位,并递归调用DigitSum。

具体代码如下:

#include 
#include 
int DigitSum(int n)
{
	if (n < 9)
		return n;
	else
		return n % 10 + DigitSum(n / 10);
}
int main()
{
	int num = 1729;
	printf("%d\n",DigitSum(num));
	system("pause");
	return 0;
}

 

你可能感兴趣的:(C语言)