C語言求輸入一個非負整數(shù),返回組成它的數(shù)字之和
方法一、遞歸法
思路:設計一個初始條件,通過遞歸獲取非負整數(shù)的個位,不斷接近遞歸條件即可。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int DigitSum(int n)
{int tmp = 0;if (n > 9){tmp = n % 10;return tmp + DigitSum(n / 10);}else if(n == 0 ){return 0;}
}int main()
{int n = 0;scanf("%d",&n);int ret = DigitSum(n);printf("%d",ret);return 0;
}
非遞歸法
思路:通過循環(huán)設計好結束條件不斷獲得個位,并使用一個臨時值接收。最后返回臨時值即可。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>int DigitSum(int n)
{int tmp = 0;while (n){tmp += n % 10;n /= 10;}return tmp;
}int main()
{int n = 0;scanf("%d",&n);int ret = DigitSum(n);printf("%d",ret);return 0;
}