fac在C語言中沒有特別的含義,既不是關(guān)鍵字也不是庫函數(shù),可能是編程人員自定義的一個(gè)變量名或函數(shù)名等。
創(chuàng)新互聯(lián)公司從2013年開始,先為東營區(qū)等服務(wù)建站,東營區(qū)等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為東營區(qū)企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
通常用fac來表示求階乘的函數(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(); 沒有傳參進(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í)行其初始化操作,以后都會跳過初始化操作。所以第一次執(zhí)行fac(1)函數(shù)時(shí),f初始化為1,并乘以1,f仍為1;第二次執(zhí)行fac(2)時(shí),跳過初始化操作,f=f*2,f為2;第三次執(zhí)行fac(3)時(shí),跳過初始化操作,f=f*3,f為6;第四次執(zhí)行fac(4)時(shí),跳過初始化操作,f=f*4,f為24;......以此類推。
#includestdio.h
voidmain(){
intn,result;
printf("請輸入一個(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語言函數(shù)的調(diào)用
函數(shù)定義好以后,要被其它函數(shù)調(diào)用了才能被執(zhí)行。C語言的函數(shù)是能相互調(diào)用的,但在調(diào)用函數(shù)前,必須對函數(shù)的類型進(jìn)行說明,就算是標(biāo)準(zhǔn)庫函數(shù)也不例外。
標(biāo)準(zhǔn)庫函數(shù)的說明會被按功能分別寫在不一樣的頭文件中,使用時(shí)只要在文件最前面用#include預(yù)處理語句引入相應(yīng)的頭文件。如前面使用的printf函數(shù)的說明是放在文件名為stdio.h的頭文件中。
網(wǎng)站名稱:c語言階乘函數(shù)的函數(shù)名為,c語言中階乘的函數(shù)是什么
路徑分享:http://chinadenli.net/article44/dseosee.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)、營銷型網(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)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)