为了账号安全,请及时绑定邮箱和手机立即绑定

这个程序是怎么运行的啊

#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 回答

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

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

0 回复 有任何疑惑可以回复我~
#1

思心等待的人 提问者

非常感谢!
2016-11-16 回复 有任何疑惑可以回复我~
#2

技不如人_甘拜下风

累加和递推有什么不同吗?这是用递推实现累加效果吗? 不是很明白,试了2,3,4,也都是2+1,3+2+1,4+3+2+1啊?
2016-11-26 回复 有任何疑惑可以回复我~
#3

南枕北伤 回复 技不如人_甘拜下风

用1到10的数来讲,累加就是从1加到10,递推就是知道其中的一个数 推出另一个数
2016-11-30 回复 有任何疑惑可以回复我~
#4

技不如人_甘拜下风 回复 南枕北伤

是不是这是简单的,我可以推出每个的数值,如果是复杂的话,就是用代数式来表示?
2016-12-01 回复 有任何疑惑可以回复我~
#5

南枕北伤 回复 技不如人_甘拜下风

和你说的差不多,但是不同的地方有不同的用法
2016-12-01 回复 有任何疑惑可以回复我~
查看2条回复

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

0 回复 有任何疑惑可以回复我~
#1

思心等待的人 提问者

这个程序是怎样实现累加的呢
2016-11-15 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926018    人
  • 解答问题       20793    个

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

进入课程

这个程序是怎么运行的啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信