int getWordNumber(n)
{
if(n == 1)
{
return 1; //第一天只会1个单词
}
else{
return getWordNumber(n-1)+n ;
}
}
int main()
{
int num = 1 + getWordNumber(9);
printf("小明第10天会了:%d个单词。\n", num);
return 0;
}
所以程序应该是这样,最后算出来是46个
{
if(n == 1)
{
return 1; //第一天只会1个单词
}
else{
return getWordNumber(n-1)+n ;
}
}
int main()
{
int num = 1 + getWordNumber(9);
printf("小明第10天会了:%d个单词。\n", num);
return 0;
}
所以程序应该是这样,最后算出来是46个
2015-01-25
第一天还没学就已经会了一个,后面每天多学一个,第一天学一个,第二天学两个依次下去,先把一开始就会的一个提出来,用递归计算后面学的最后再加上去。问第十天开始的时候会了多少个单词,所以第十天还没学,只能算学了九天的,所以应该是num=1+getWordNumber(9),递归的程序中,return 为getWordNumber(n-1)+n; 第几天学几个,不用n-1,这样才对吧。
2015-01-25