其實這個只能算到12的階乘,因為13的階乘等于6227020800,它已經大于2的31次方了,也就是超過了int所能表示的最大值了(溢出),所以你可以把int
創新互聯建站是一家專業提供福山企業網站建設,專注與網站建設、成都網站設計、HTML5建站、小程序制作等業務。10年已為福山眾多企業、政府機構等服務。創新互聯專業網站制作公司優惠進行中。
改為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("請輸入一個數:");
scanf("%d",k);
for(i=1;i=k;i++)
{
printf("第%d個數為:",i);
scanf("%d",n);
printf("%d!=%f\n",n,f(n));
}
}
我把你寫的稍微改了一下,你看看。
n的階乘就是從1到的累積,所以可以通過一個for循環,從1到n依次求積即可。
參考代碼:
#include "stdio.h"
int main() {
int n,i,s=1;
scanf("%d",n);
for(i=1;i=n;i++)//for循環求累積
s=s*i;
printf("%d\n",s);
return 0;
}
/*
運行結果:(例如求5的階乘)
5
120
*/
擴展資料:?
return用法:
return返回一個數值的意思就是把return表達式后面表達式的值返回給調用他的函數。舉個例子:
int sum(int i,int j)
{
return i+j;
printf("這個語句不會被執行,因為該子函數執行到上面的return語句就無條件結束了");
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
#includestdio.h
int main()
{
int a=1,i;
for(i=1;i=10;i++)
a=a*i;
printf("10的階乘=%d",a);
return 0;
}
擴展資料:
在C語言中,有三種類型的循環語句:for語句、while語句和do While語句。分別介紹如下:
for
for為當型循環語句,它很好地體現了正確表達循環結構應注意的三個問題:
⑴控制變量的初始化。
⑵循環的條件。
⑶循環控制變量的更新。
while:
while結構循環為當型循環(when type loop),一般用于不知道循環次數的情況。維持循環的是一個條件表達式,條件成立執行循環體,條件不成立退出循環。
while語句格式為:
while(條件表達式)
循環體
每次執行循環體前都要對條件表達式進行判斷。
參考資料來源:百度百科-循環語句
求n的階乘c語言如下:
第一步、編程的第一步就是寫頭文件,對于初學者來說,只寫一個頭文件就可以了,即#includestdio.h。
第二步、就是定義我們的變量,我們需要定義一個n,用來求他的階乘,sum用來保存結果,i用來循環。
第三步、就是把sum初始化,為1.千萬不要為0,保證后面的結果不出問題。
第四步、就是輸入一個n,用來求n的階乘,別忘了在前面提示一下。
第五步、就是利用for循環來求階乘。
第六步、就是調用printf(:);函數來輸出階乘結果。
n的階乘c語言:
n!=1×2×3...xn。
n!=X×(X-1)×(X-2)...×1。
1751年,歐拉以大寫字母M表示m階乘 M=1x2x3...x...m。
網站題目:定義函數求階乘C語言 c語言定義函數實現階乘求和
文章網址:http://m.newbst.com/article28/ddieojp.html
成都網站建設公司_創新互聯,為您提供電子商務、網站設計、、做網站、搜索引擎優化、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯