以123为例,简述原理:
digitsum(123) -> 3+digitsum(12) -> 3+2+digitsum(1);
其中3由123除以10取余得到,2由12除以19取余得到 。
#include<stdio.h>
int digitsum(unsigned int n);
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d", digitsum(n));
return 0;
}
int digitsum(unsigned int n)
{
if (n < 9)
return n;
else
{
return (n % 10) + digitsum(n / 10);
}
}