【C语言】输入一个非负整数,返回组成它的数字之和

输入一个数字,想求它的各个位数的和,可以选择使用一般的方法,也可以使用递归的方法

递归就是自己调用自己,首先要判断一下这个数字是大于10,还是小于10

小于10 就直接返回这个数字,大于10 的时候就要调用一下这个函数,代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include
#include

int DigitSum(int sum)
{
	if (sum <= 10)
	{
		return sum;
	}
	else
	{
		return sum % 10 + DigitSum(sum/10);
	}
}
int main()
{
	int sum = 0;
	int ret = 0;
	printf("请输入一个数字:\n");
	scanf("%d", &sum);
	ret = DigitSum(sum);
	printf("结果为:%d\n", ret);
	system("pause");
	return 0;
}

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