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

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

#define _CRT_SECURE_NO_WARNINGS 1
#include

int DigitSum(int num)
{
	if (num < 10)
		return num;

	else
		return num%10 + DigitSum(num/10);
		//DigitSum(1729) = 9 + DigitSum(172);
		//DigitSum(172) = 2 + DigitSum(17);
		//DigitSum(17) = 7 + DigitSum(1)
		//DigitSum(1) = 1;
		//最终,DigitSum(1729) = 9 + 2 + 7 + 1 = 19
}

int main()
{
	int n = 0;
	printf("输入一个非负整数:\n");
	scanf("%d", &n);
	int ret = DigitSum(n);
	printf("%d\n", ret);
	return 0;
}

运行结果:
在这里插入图片描述

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