C語言編程實現 輸入一個非負整數,返回組成它的數字之和(遞歸方法)
阿新 • • 發佈:2019-04-11
第四次 use pri int digi pre 編程 res std 此題目基本思想與非遞歸方法思想一樣,主要是對輸入的數進行取數(對10取余)和縮小(整除10)
eg:
1234
第一次 1234%10取得數4,1234/10縮小為123
第二次 123%10取得數3, 123/10縮小為12
第三次12%10取得數2, 12/10縮小為1
第四次 當調用的數小於十直接取得此數為1
eg:
1234
第一次 1234%10取得數4,1234/10縮小為123
第二次 123%10取得數3, 123/10縮小為12
第三次12%10取得數2, 12/10縮小為1
第四次 當調用的數小於十直接取得此數為1
源代碼:
#include<stdio.h> #include<stdlib.h> int DigitSum(int number) { int suu,m ; while(number) { m = number % 10;//取數 number /= 10;//數縮小 return m + DigitSum(number); } return number;//遞歸出口 } int main() { int number,i=0,temp,m=1; int result; printf("請輸入數字\n"); scanf("%d", &number); temp = number; result = DigitSum(number); printf("計算結果為%d\n", result); system("pause"); return 0; }
C語言編程實現 輸入一個非負整數,返回組成它的數字之和(遞歸方法)