问答详情
源自:5-8 递归函数(二)

求大神指导。

http://img.mukewang.com/5899852c0001b93107860467.jpg

最后输出结果不对,求帮忙找错。

提问者:nothing39 2017-02-07 16:29

个回答

  • 慕粉1637207462
    2017-02-07 16:53:37
    已采纳

    为啥感觉你输入都不对。。。。。你别发图片了,直接把程序给我,我再给你调试一下。

  • 慕婉清2929782
    2017-02-07 20:12:27

    第12行,n后面改一下: printf("", n, num);

  • 慕粉1637207462
    2017-02-07 17:19:44

    总体上就是

    #include <stdio.h>

    int getPeachNumber(int n)

    {

        int num;    //定义所剩桃子数

        if(n==10)

        {

           return 1;      //递归结束条件

        } 

        else

        {

            num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?

            

        }

        return num;

    }

    int main()

    {

        int num = getPeachNumber(1);

        printf("猴子第一天摘了:%d个桃子。\n", num);

        return 0;

    }


  • 慕粉1637207462
    2017-02-07 17:16:13

    把int getPeachNumber(n)改为int getPeachNumber(int n)

  • nothing39
    2017-02-07 16:58:14

    #include <stdio.h>

    int getPeachNumber(n)

    {

        int num;    //定义所剩桃子数

        if(n==10)

        {

           return 1;      //递归结束条件

        } 

        else

        {

            num = (getPeachNumber(n+1)+1)*2;   //这里是不应该用递归呢?

            printf("第%d天所剩桃子%d个\n", n , getPeachNumber); //天数,所剩桃子个数

        }

        return num;

    }

    int main()

    {

        int num = getPeachNumber(1);

        printf("猴子第一天摘了:%d个桃子。\n", num);

        return 0;

    }



    非常非常感谢!!