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

不知道错误在哪

#include <stdio.h> 

/* 

 * 请使用递归函数完成本题

 * 小编已将正确代码放在左侧任务的“不知道怎么办”里

 * 小编希望各位童鞋独立完成哦~

 */

int getAge(int num){

    int age;

    if(num==1){

        return 10;

    }

    else{

        age = getAge(num)*2+8;

    }

    return age;

}









int main() 

{

    int age = getAge(5);

printf("第5个人的年龄是%d岁", age); 

return 0;

}


正在回答

1 回答

递归函数是调用它本身来进行运算,故我们要根据问题本身来考虑函数的出口和每一次递归的的联系,如第五人说比第四人大两岁,第四人比第三人大两岁······第一人说他有10岁,可以看出他们之间相互大两岁,则其数列表达式可为a(n)=a(n-1)+2。所以你可将age=getAge(num)*2+8改为age=gerAge(n-1)+2。即可

希望对你有帮助!

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

举报

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

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

进入课程

不知道错误在哪

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