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

getWordNumber(n-1)+n ; 求解

#include <stdio.h>

/* 定义获取单词数量的函数 */

int getWordNumber(int n)

{   

    if(n == 1)

    {

        return 1;    //第一天只会1个单词

    }

    else{

        return getWordNumber(n-1)+n ;       //到第天会的单词数量---这里不明白为什么,求解??

    }

}

int main()

{

    int num = getWordNumber(10);     //获取会了的单词数量

    printf("小明第10天记了:%d个单词。\n", num);

    return 0;

}


正在回答

5 回答

多谢一楼的回答,稍微解释一下,

你把10代进去,会得到

getWordNumber(10)=getWordNumber(10-1)+10=getWordNumber(9)+10,这时候

n就变成9了,根据递归函数,再把9代进去,得到

getWordNumber(9)+10=getWordNumber(9-1)+9+10=getWordNumber(8)+10+9,

依次类推,最后是

getWordNumber(1)=1+2+3+4+5+6+7+8+9+10=55


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

#include <stdio.h>

/* 定义获取单词数量的函数 */

int getWordNumber(int n)

{   

    if(n == 1)

    {

        return 1;    //第一天只会1个单词

    }

    else{

        int a;(重新定义一个量a

        a=getWordNumber(n-1)+n;

        return a ;       //到第天会的单词数量(这里把a取得值返回给getwordnumber()函数,这下懂了吧)

    }

}

int main()

{

    int num = getWordNumber(10);     //获取会了的单词数量

    printf("小明第10天记了:%d个单词。\n", num);

    return 0;

}


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

#include <stdio.h>

/* 定义获取单词数量的函数 */

int getWordNumber(int n)

{   

    int xx;

    if(n == 1)

    {

        return 1;    //第一天只会1个单词

    }

    else{

        printf("%d\t",n);

        xx=getWordNumber(n-1)+n; 

        printf ("\n%d\t",xx);//到第天会的单词数量

    }

    return xx;

}

int main()

{

    int num = getWordNumber(10);     //获取会了的单词数量

    printf("小明第10天记了:%d个单词。\n", num);

    return 0;

}


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

getWordNumber(10)=getWordNumber(10-1)+10=getWordNumber(9)+10

getWordNumber(9)=getWordNumber(9-1)+9=getWordNumber(8)+9

getWordNumber(8)=getWordNumber(8-1)+8=getWordNumber(7)+8

getWordNumber(8)=getWordNumber(7-1)+7=getWordNumber(6)+7

getWordNumber(7)=getWordNumber(6-1)+6=getWordNumber(5)+6

getWordNumber(6)=getWordNumber(5-1)+5=getWordNumber(4)+5

getWordNumber(5)=getWordNumber(4-1)+4=getWordNumber(3)+4

getWordNumber(4)=getWordNumber(3-1)+3=getWordNumber(2)+3

getWordNumber(3)=getWordNumber(2-1)+2=getWordNumber(1)+2

getWordNumber(1)=1


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

我改名字了

从下网上看。
2016-08-15 回复 有任何疑惑可以回复我~

getWordNumber(n-1) 是指前几天会的单词数量总和,n是第n天会的单词数量,两者相加就是到第n天所学会的单词数量总和

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

举报

0/150
提交
取消

getWordNumber(n-1)+n ; 求解

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