递归函数c语言求阶乘
发布时间: 2025-04-15 09:51:48
1. 哪位大神能用c语言递归算法计算n的阶乘*(n-1) 的阶乘
代码如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
unsignedmyfact(intn){
if(n==1||n==0)
return1;
returnn*myfact(n-1);
}
intmain(void){
intn;
unsignedx;
while(1){
printf("Inputn(int0<=n<n<9) n=");//限制到8为不溢出
if(scanf("%d",&n),n>=0&&n<=8)
break;
printf("Overrun,enteragain:");
}
printf("%d!x%d!=%d ",n,n-1,(x=myfact(n-1))*n*x);
return0;
}
2. c语言函数递归求阶乘的问题 求助大佬们
两个比较常见的错误
a)递归没有结束条件,要判断 num==0情况直接返回1,否则就是死循环
b) 返回类型是long int但是中间类型都是int,这是非常大的错误。int类型只能保存大概12!这样的数,此时返回long int毫无意义。所有的类型都应该换为long,否则能算的阶乘太小了
3. c语言怎么用递归调用函数的方法求n的阶乘
1、打开VC6.0软件,新建一个C语言的项目:
热点内容