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

正在回答

2 回答

1.你的age函数没有最后结束的花括号

2.你并没有使用递归函数,请仔细阅读下递归函数的相关知识,最终的一个在else的定义中你应该使用i=age(n-1)+2

3.只用输出最后第五个人年龄就可以了不用那么多

4.其实不用递归的话这个题目可想想是不是一个等差数列?


最终代码

#include <stdio.h> 

int age(int n)
{
    int i;

    if (n==1)
    return 10;
    else
    {
        i=age(n-1)+2;
        //printf("第%d个人的年龄是%d岁",n,i);
        return i;
    }
}

int main() 
{
  int i;
  //i=age(5);
  printf("第5个人的年龄是%d岁",age(5)); 
    return 0;
}


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

C53C42C31 提问者

看得出是一个等差数列,以及谢谢解答
2015-08-03 回复 有任何疑惑可以回复我~

想将   printf("第%d个人的年龄是%d岁",n,i)   打出来怎么总报错

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

举报

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

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

进入课程

作业求找错

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