天啊我懵了!

来源:5-9 递归函数练习

江画

2017-01-06 12:20

#include <stdio.h> 

int sui(n)

{

    if(n==1)

    {

        int nian=10;

    }

    else if(n<=0)

    {

        printf("%s",输入错误);

    }

    else

    {

        int nian=sui(10+(n-1)*2);

        return nian;

    }



int main() 

{

    x=sui(5);

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

 return 0;

}

写回答 关注

2回答

  • horbyn4zZ
    2017-02-20 21:34:02
    已采纳

    为什么要弄多重if-else呢。if(n<=0)-else完全可以不要阿,而且你代码太多错误了,完全是对前面的内容没理解,我在这里不一一提了,直接上代码,你对比着看吧,建议你对前面的内容还是不要赶进度了,好好学。当然你肯学的话。

    #include<stdio.h>
    int sui(n)
    {
        int nian;//你下面代码比如结束条件你的想法是年龄返回10,因此要先定义
        if(n==1)//不要一看见if-else就带上花括号阿,只有一条语句不用带的
            return nian=10;//结束条件是提及第一个人是他的年龄是10岁就知道了,就不用向前再推了
            else
            nian=sui(n-1)+2;
            return nian;
    }
    int main()
    {
        int sui;//你上面对应这里像你那样写也是不对的,拿有定义变量的时候就直接调用函数的?先定义才调用
        sui=sui(5);
        printf("第5个人的年龄是%d岁",sui);
        return 0;
    }


  • 你二爷爷的三哥哥
    2017-01-06 15:53:38

      printf("%s",输入错误);  字符串缺少“”“”;

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题