c语言函数递归求阶乘的问题 求助大佬们 递归函数c语言阶乘

5583℃ DIANA

c语言函数递归求阶乘的问题 求助大佬们递归函数c语言阶乘

C语言中递归函数求n的阶乘中的问题

求n的阶乘时终止条件的判断if(n==1)时返回1的话,求0!就变成没有定义了。

C语言用递归解决阶乘问题

#include <stdio.h>

int fac(int n)

{

    if(n>1)

        return n*fac(n-1);

    return 1;

}

int main()

{

    int n;

    scanf("%d",&n); // input n

    printf("%d\n",fac(2*n+1));

    return 0;

}

直接敲的,有bug自己调一下哈哈哈^_^

c语言中递归的问题(计算阶乘......)

小错误,你1和后面的递归写反了,修改后如下

#include<stdio.h>

long fact(long n)

{

return n?n*fact(n-1):1;

}

int main()

{

printf("%ld\n",fact(10));

}

c语言递归求阶乘的问题,我不知道哪里错了,求大神解答

#include

int re(int n);

void main()

{

int n = 0;

long c;

scanf("%d",&n);

c = re(n);

printf("阶乘的最后值为:%ld",c);

}

int re(int n)

{

long r;

if(n < 0)

{

printf("n<0,error");

}

else if(n == 0|| n == 1)

{

r = 1;

}

else

{

r = re(n-1)*n;

}

return r;

}

程序大的错误没有,就是你的scanf用错了,详情看看我改后的程序!

在scanf只能跟输入格式符 %d%f%c%f 等等! 记得要给变量取地址!