這個程序是怎么運行的啊
#include <stdio.h>
/* 定義獲取單詞數量的函數 */
int getWordNumber(int n)
{ ??
? ? int we;
? ? if(n == 1)
? ? {
? ? ? ? return 1; ? ?//第一天只會1個單詞
? ? }
? ? else{
? ? ? ? we=getWordNumber(n-1)+n;
? ? ? ? return we ; ? ? ? //到第天會的單詞數量
? ? }
}
int main()
{
? ? int num = getWordNumber(10); ? ? //獲取會了的單詞數量
? ? printf("小明第10天記了:%d個單詞。\n", num);
? ? return 0;
}
2016-11-16
? 這里實現的不是累加效果,而是遞推數據的值,這里推出第十天的值
int num = getWordNumber(10);?? 你可以將這個里面的數換成別的數,比如說2??? 3????? 4,你就能發現這里的值并不是累加計算,而是遞推
2016-11-15
#include<stdio.h>
int getWordNumber(int n)???? //這里用的是遞歸函數
{
??? int we;
??? if(n == 1)
??? {
??????? return 1;??? //這里設置遞歸函數的結束語,即當n=1時返回值為1
??? }
??? else
?{
??????? we=getWordNumber(n-1)+n;? //這里用到遞歸函數????? 從下面參考 getWordNumber中為10,所以要反向推導
??????? return we ;?????? //返回值為? we 計算出來的值
??? }
}
int main()
{
??? int num = getWordNumber(10);???? //獲取會了的單詞數量
??? printf("小明第10天記了:%d個單詞。\n", num);
??? return 0;
}