注册 登录
编程论坛 C语言论坛

有大佬能看一下以下求n!的递归算法怎么不对吗原本对了稍微改一下结果就错了

新手714 发布于 2020-04-26 21:48, 1590 次点击
#include<stdio.h>
int main()
{
    int fac(int h), y,h;
    printf("输入一个整数:");
    scanf("%d", &h);
    y=fac(h);
    printf("%d!=%d\n", h, y);
    return 0;
}
int fac(int h)
{
    int y;
    if (h = 0)
        y = 1;
    else if (h < 0)
        printf("\nerro\nr");
    else if (h > 0)
        y = fac(h - 1)*h;
    return y;
}
6 回复
#2
forever742020-04-26 21:52
稍微改回去就行了。
#3
新手7142020-04-26 21:58
回复 2楼 forever74
哈哈哈额改不回去了
#4
吕孟伟2020-04-26 22:16
按着你的思路改了下,嘻嘻!
程序代码:
#include<stdio.h>
int main()
{
    int fac(int h), y,h;
    printf("输入一个整数:");
    scanf("%d", &h);
    if(h >= 0){
        y=fac(h);
        printf("%d!=%d\n", h, y);
    }else{
        printf("\nerror\n");
    }
    return 0;
}
int fac(int h)
{
    int y;
    if (h == 0){
        return y = 1;
    }else if(h > 0){
        y = fac(h - 1)*h;
        return y;
    }
        
}

#5
新手7142020-04-26 22:35
回复 4楼 吕孟伟
我写的不对在哪呢为什么会不对呢
#6
新手7142020-04-26 22:49
一个弱智错误
#7
云团2020-04-27 01:38
只有本站会员才能查看附件,请 登录
1