遞歸函數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語言的項目:
熱點內容