写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 例如,调用DigitSum(1729),则应该返回1 + 7 + 2 + 9,它的和是19

写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和, 
例如,调用DigitSum(1729),则应该返回1 + 7 + 2 + 9,它的和是19
 

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
//首先要把该数分解,知道这个数是几位数,再返回每位数的累加和
DigitSum(int n)
{
	if (n / 10 == 0)
	{
		return n;
	}
	else
	{
		return n%10 + DigitSum(n / 10);
	}
}
int main()
{
	printf("请输入一个非负整数:");
	int n;
	scanf("%d", &n);
	printf("%d\n", DigitSum(n));
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43240245/article/details/83051042