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