1、打開(kāi)vc6.0,新建一個(gè)vc項(xiàng)目,添加頭文件,添加一個(gè)空的main函數(shù),這里先跡野定義一個(gè)用來(lái)求階乘的函數(shù),函數(shù)的參數(shù)為i,階乘就是不斷的和前面的一個(gè)數(shù)相乘,這里就是不斷和fact函數(shù)相乘,之后編寫(xiě)主函數(shù)的內(nèi)容:

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括白沙黎族網(wǎng)站建設(shè)、白沙黎族網(wǎng)站制作、白沙黎族網(wǎng)頁(yè)制作以及白沙黎族網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,白沙黎族網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到白沙黎族省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
2、在main函數(shù)姿埋喊定義int類(lèi)型變量sum,然后調(diào)用fact()將返回值賦予sum,最后液戚使用printf打印sum的值:
3、最后編寫(xiě)程序好后,來(lái)運(yùn)行程序觀察結(jié)果,這里可以看到打印出了6的階乘。以上就是C語(yǔ)言用遞歸的方式求階乘的過(guò)程:
n的階乘,就是從1開(kāi)畢高始裂慶乘到n,即1*2*3*...*(n-1)*n。
即n!=1*2*3*...*(n-1)*n。
而(n-1)!=1*2*3*...*(n-1)。
所以可以得出,n!=(n-1)!
*
n。
由這個(gè)概念,可以得出遞歸求階乘函數(shù)fact的算法:
1
如果傳入?yún)?shù)為0或手源尺1,返回1;
2
對(duì)于任意的n,返回n*fact(n-1)。
代碼如下:
int fact(int n)
{
if(n == 0 || n == 1) return 1;
return n*(fact(n-1));
}
#include?stdio.h
int?fun(int?n){
int?k;
if(n==0)?k=1;
else?k=n*fun(n-1);
return?k;
}
//以上困巧為運(yùn)用遞汪核鍵歸求階乘的函數(shù),以下為主函氏笑數(shù)
void?main()
{
int?n;
scanf("%d",n);
printf("%d!=%d",n,fun(n));
}
運(yùn)行示例:
舉例:用遞歸方法求n;
#includestdio.h
int main()
{
int n;
int y;
printf("input a integer number:");
scanf("%d",n);
y=fac(n);
printf("%d!=%d\n",n,y);
return 0;
}
int fac(int n)
{
int f;
if(n0)
printf("n0,data error!");
else if(n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return(f);
}
擴(kuò)展資料:
return用法:
return返回一個(gè)數(shù)值的意思就是把returnlt;表達(dá)式gt;后面表達(dá)式的值返回給調(diào)用他的函數(shù)。舉個(gè)例子:
int sum(int i,int j)
{
return i+j;
printf("這個(gè)語(yǔ)句不會(huì)被執(zhí)行,因?yàn)樵撟雍瘮?shù)執(zhí)行到上面的return語(yǔ)句就無(wú)條件結(jié)束了"轎備);
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
程序的輸出為:
21
這個(gè)21從何而來(lái)呢main函數(shù)神喊調(diào)用sum(a,b)函數(shù)時(shí)將a的值賦給i,b的值賦給游帆野j,上面說(shuō)了return i+j;會(huì)計(jì)算i+j的值也就是結(jié)果等于21,并將21帶回給調(diào)用它的函數(shù),即c=sum(a,b);相當(dāng)于c=21,這個(gè)21就是由sum(a,b)中的return反回來(lái)的。
本文題目:c語(yǔ)言用遞歸函數(shù)算階乘 遞歸求階乘c語(yǔ)言程序
文章分享:http://www.chinadenli.net/article2/ddpshoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、網(wǎng)站營(yíng)銷(xiāo)、外貿(mào)建站、云服務(wù)器、App開(kāi)發(fā)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)