再帰関数DigitSum(n)を書き込み、非負の整数を入力し、それは組成物と(C言語)の数を返します

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/zz070/article/details/102765737

アイデアは:
その後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");
}

結果:

ここに画像を挿入説明

おすすめ

転載: blog.csdn.net/zz070/article/details/102765737