输入一个数字,想求它的各个位数的和,可以选择使用一般的方法,也可以使用递归的方法
递归就是自己调用自己,首先要判断一下这个数字是大于10,还是小于10
小于10 就直接返回这个数字,大于10 的时候就要调用一下这个函数,代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
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;
}