免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
アイデアは:
その後10への操作に加えて、継続的な整数加算モジュロ10限り、非負整数様々なデジタル合計を得るために。再帰的方法限り、一緒に呼出関数DigitSumと彼のモジュロ10に加えて、整数nは0より大きいが、(N / 10)とすることができる入力を使用。nが0に等しい場合、0が直接戻されます。
出典:
#include<stdio.h>
#include<stdlib.h>
int DigitSum(n)
{
if (n > 0){
return n % 10 + DigitSum(n / 10);
}
return 0;
}
void main()
{
int n = 0;
printf("请输入一个不小于0的整数 > ");
scanf_s("%d", &n);
int sum = DigitSum(n);
printf("该整数各数位之和为 > %d\n", sum);
system("pause");
}
結果: