问答详情
源自:5-7 递归函数(一)

这里我计算了3天,得出结果是6​,求详细计算步骤,

#include <stdio.h>
/* 定义获取单词数量的函数 */
int getWordNumber(int n)
{   
    if(n == 1)
    {
        return 1;    //第一天只会1个单词
    }
    else{
        return  getWordNumber(n-1)+n ;       //到第天会的单词数量
    }
}
int main()
{
    int num = getWordNumber(3);     //获取会了的单词数量
    printf("小明第10天记了:%d个单词。\n", num);
    return 0;
}


提问者:小小小丶小白 2015-09-01 11:49

个回答

  • Virture
    2015-09-01 12:59:42
    已采纳

    你使用了递归,所以当n=3时,getWordNumber(n-1)+n为getWordNumber(2)+3;所以n=2时,getWordNumber(n-1)+n为getWordNumber(1)+2。getWordNumber(1)+2的结果为3,那么getWordNumber(2)+3的结果为getWordNumber(1)+2+3 = 3+3 = 6

  • qq_记得曾经_0
    2015-12-03 22:21:32

    非常感谢!!!

  • 刘玉鹏
    2015-09-12 10:34:30

    怎么算的,表示不懂

  • 刘伶
    2015-09-01 13:11:09

    这是个经典的递归算法

  • 小小小丶小白
    2015-09-01 11:57:41

    比如第2天:(2-1)+2=3

    到了第3天:不知道这个6怎么出来的