这个程序是怎么运行的啊

来源:5-7 递归函数(一)

思心等待的人

2016-11-14 22:58

#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;

}


写回答 关注

2回答

  • 南枕北伤
    2016-11-16 12:34:19
    已采纳

      这里实现的不是累加效果,而是递推数据的值,这里推出第十天的值

    int num = getWordNumber(10);   你可以将这个里面的数换成别的数,比如说2    3      4,你就能发现这里的值并不是累加计算,而是递推

    南枕北伤 回复技不如人_甘...

    和你说的差不多,但是不同的地方有不同的用法

    2016-12-01 16:24:51

    共 5 条回复 >

  • 南枕北伤
    2016-11-15 22:00:30

    #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;
    }

    思心等待的人

    这个程序是怎样实现累加的呢

    2016-11-15 22:47:34

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926207 学习 · 20797 问题

查看课程

相似问题