这个题目还是一道比较基础的题目的,我们使用for循环很快就能实现
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
int sum = 0;
while (n != 0)
{
sum += n % 10;
n = n / 10;
}
printf("%d", sum);
return 0;
}
这个是比较常规的思想,那么下面我们还可以使用递归的方式来计算一下,算法原理也是差不多的, 只不过使用递归的时候要注意一点递归结束的判断条件
#include <stdio.h>
int DigitSum(int n)
{
if (n / 10 == 0)
{
return n % 10;
}
else
{
return (n % 10) + DigitSum(n / 10);
}
}
int main()
{
int n = 0;
scanf("%d", &n);
int c = 0;
c = DigitSum(n);
printf("%d", c);
return 0;
}
好了,关于递归的方法大家可以多看几遍,有助于我们更好的了解递归
不懂的地方也可以给我留言哦