#include stdio.h
公司主營業(yè)務:成都網(wǎng)站制作、做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出汝陽免費做網(wǎng)站回饋大家。
main()
{
long n,sum=1;//10 以上的階乘就比較大了
int i;
printf("請輸入你要求的階乘:")
scanf("%d",n);//先輸入要求的數(shù)
for(i=n;i0;i--)//乘到1為止
{
sum*=i;
}
printf("%d != %d",n,sum);
return 0;
}
n的階乘就是從1到的累積,所以可以通過一個for循環(huán),從1到n依次求積即可。
參考代碼:
#include "stdio.h"
int main() {
int n,i,s=1;
scanf("%d",n);
for(i=1;i=n;i++)//for循環(huán)求累積
s=s*i;
printf("%d\n",s);
return 0;
}
/*
運行結果:(例如求5的階乘)
5
120
*/
擴展資料:?
return用法:
return返回一個數(shù)值的意思就是把return表達式后面表達式的值返回給調(diào)用他的函數(shù)。舉個例子:
int sum(int i,int j)
{
return i+j;
printf("這個語句不會被執(zhí)行,因為該子函數(shù)執(zhí)行到上面的return語句就無條件結束了");
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
其實這個只能算到12的階乘,因為13的階乘等于6227020800,它已經(jīng)大于2的31次方了,也就是超過了int所能表示的最大值了(溢出),所以你可以把int
改為double.
#include
stdio.h
#include
stdlib.h
double
f(int
n)
{
if(n==0||n==1)
return
1;
return
n*f(n-1);
}
int
main()
{
int
n,k,i;
printf("請輸入一個數(shù):");
scanf("%d",k);
for(i=1;i=k;i++)
{
printf("第%d個數(shù)為:",i);
scanf("%d",n);
printf("%d!=%f\n",n,f(n));
}
}
我把你寫的稍微改了一下,你看看。
網(wǎng)站題目:用函數(shù)實現(xiàn)求階乘c語言 用函數(shù)求階乘和的c語言程序
本文鏈接:http://www.rwnh.cn/article16/hhshdg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、網(wǎng)站內(nèi)鏈、ChatGPT、云服務器、響應式網(wǎng)站、電子商務
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)