此題目基本思想與非遞歸方法思想一樣,主要是對輸入的數進行取數(對10取餘)和縮小(整除10)
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;
}