fac在C語(yǔ)言中沒(méi)有特別的含義,既不是關(guān)鍵字也不是庫(kù)函數(shù),可能是編程人員自定義的一個(gè)變量名或函數(shù)名等。

創(chuàng)新互聯(lián)公司從2013年開(kāi)始,先為東營(yíng)區(qū)等服務(wù)建站,東營(yíng)區(qū)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為東營(yíng)區(qū)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
通常用fac來(lái)表示求階乘的函數(shù)名,fac是階乘英文(factorial)的前三個(gè)字母。
下面定義一個(gè)函數(shù)名為fac的階乘函數(shù):
double?fac(int?n)
{
if(n==0?||?n==1)??//?0和1的階乘都為1
return?1;
if(n1)
return?n*fac(n-1);??//?n的階乘等于n乘以(n-1)的階乘
}
你的函數(shù)原型是這個(gè)int jiecheng(int a);調(diào)用的卻是 s=jiecheng(); 沒(méi)有傳參進(jìn)去,所以報(bào)錯(cuò),應(yīng)該改為:
int s;
int result;
scanf("%d",s);
result=jiecheng(s);
另外,還要做一個(gè)特殊處理,比如:當(dāng)參數(shù)為零時(shí),輸出為1;當(dāng)參數(shù)為-1時(shí),輸出0;當(dāng)為負(fù)數(shù)時(shí),提示不正確
#include?stdio.h
#define?MAX?20
int?main(void)
{
int?i,n;
int?repeat,?ri;
double?sum[MAX]?=?{0};
double?fact(int?n);
scanf("%d",?repeat);
for(ri?=?1;?ri?=?repeat;?ri++){
scanf("%d",?n);
for(i=0;?i=n;?i++)
sum[ri?-?1]?+=?fact(i);
//?printf("sum?=?%.0f\n",?sum);
}
for(i=0;?irepeat;?i++)?{
printf("sum?=?%.0f\n",?sum[i]);
}
return?0;
}
double?fact(int?n)?{
if(n?==?0)
return?1;
return?n?*?fact(n?-?1);
}
f是fac()函數(shù)內(nèi)部的靜態(tài)變量,那么,f只在第一次進(jìn)入fac()函數(shù)時(shí)才執(zhí)行其初始化操作,以后都會(huì)跳過(guò)初始化操作。所以第一次執(zhí)行fac(1)函數(shù)時(shí),f初始化為1,并乘以1,f仍為1;第二次執(zhí)行fac(2)時(shí),跳過(guò)初始化操作,f=f*2,f為2;第三次執(zhí)行fac(3)時(shí),跳過(guò)初始化操作,f=f*3,f為6;第四次執(zhí)行fac(4)時(shí),跳過(guò)初始化操作,f=f*4,f為24;......以此類推。
#includestdio.h
voidmain(){
intn,result;
printf("請(qǐng)輸入一個(gè)數(shù)字,求它的階乘:");
scanf("%d",n);
result=calc(n);
printf("結(jié)果:%d",result);
}
intcalc(intn){
intresult=1,i;
for(i=n;i=1;i--)
result=result*i;
returnresult;
}
擴(kuò)展資料
C語(yǔ)言函數(shù)的調(diào)用
函數(shù)定義好以后,要被其它函數(shù)調(diào)用了才能被執(zhí)行。C語(yǔ)言的函數(shù)是能相互調(diào)用的,但在調(diào)用函數(shù)前,必須對(duì)函數(shù)的類型進(jìn)行說(shuō)明,就算是標(biāo)準(zhǔn)庫(kù)函數(shù)也不例外。
標(biāo)準(zhǔn)庫(kù)函數(shù)的說(shuō)明會(huì)被按功能分別寫(xiě)在不一樣的頭文件中,使用時(shí)只要在文件最前面用#include預(yù)處理語(yǔ)句引入相應(yīng)的頭文件。如前面使用的printf函數(shù)的說(shuō)明是放在文件名為stdio.h的頭文件中。
網(wǎng)站名稱:c語(yǔ)言階乘函數(shù)的函數(shù)名為,c語(yǔ)言中階乘的函數(shù)是什么
路徑分享:http://chinadenli.net/article44/dseosee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(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)