出凌源进 2022-11-20 11:16 采纳率: 46.2%
浏览 3
已结题

我的想法应该没问题,但是表示有很多问题 请指正一下,解释一下

img

img


就是这个,怎么讲f(x,y)正确从头到尾的表示正确,还想问问这里面还有没有问题,之类的

  • 写回答

1条回答 默认 最新

  • 一只爱打拳的程序猿 新星创作者: Java技术领域 2022-11-21 10:11
    关注

    题主你好,我来给您指出几个问题。第一,您的f函数返回的double对应的主函数里面是%d应当是%lf。
    第二,自定义函数的命名不要写成f(x,y)。我们尽量采用大驼峰形式或小写英文加_形式,如大驼峰:AbcDef,英文:abc_def这种形式。
    第三,函数的声明和定义,如果不模块化程序的话,不用在同一源文件下声明。就是double f(x,y)(int x,int y);这句话去掉。
    第四,if语句里面的&&是并且的意思,||才是或的意思。
    如果有收获麻烦给个最佳回复并点赞。
    下方有我给您修改后的代码:

    
    #include<stdio.h>
    
    double f(int x, int y)
    {
        if (x <= 0 || y <= 0)
            return 1;
        else
            return (f(x - 1, y) + f(x, y - 1) + f(x - 1, y - 1));
    }
    int main()
    {
        int x = 0;
        int y = 0;
        scanf("%d %d", &x, &y);
        printf("%lf", f(x, y));
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 11月29日
  • 已采纳回答 11月21日
  • 创建了问题 11月20日