1樓:匿名使用者
1、使用遞迴演算法
#include
#include
long factorial(int n)else if (n == 0 || n == 1)else
return result;
}main()
2、使用迴圈
#include
#include
int main()
while (i <= k);
printf("%ld\n", j);
system("pause");
return 1;
}以上兩種方式是求階乘的普通演算法,求得的結果表示範圍都是有限的,如果算大數的階乘還要另外的演算法。
2樓:毛筆
#include
main()
//呵呵結束,我覺得這些小程式不需要c++,c語言足以
3樓:匿名使用者
我說一下,對於這樣的定義,無論long還是unsinged long
都計算的有限。對於較大的數,我們不要求太精確所以,用科學計數法來表示,就可以擴大計算範圍了。
4樓:匿名使用者
#include
void main()
最後輸出的j就是j的階乘.換成n一樣.
我也是剛學完c語言不久,要是對了,請鼓勵下!
5樓:匿名使用者
再補充:已經改善為完整版本
補充:我的回答為遞推演算法,有一位的演算法為遞迴演算法。遞推比遞迴快得多,而且需求記憶體也更小、程式也更精煉。
#include
using namespace std;
void main()
cout< }result就是n的階乘。 6樓:憑菁 float m=0; int i; for(i=1;i<=n;i++) printf("%d",m); 7樓: #include double fac(double n) int main() 用c語言寫程式:求n的階乘。要求用到陣列。 8樓: 現在字數限制在100字以內了,根本就不夠用...我沒法在這上面回答你的問題....咱們私聊好了.... 首先明確一點,大數的階乘位數都很大,一般超過了long的位數,所以光用迴圈是不夠的。 我給你發了訊息,希望有幫助 9樓:匿名使用者 int i,n,w[10]; printf("請輸入n:"); scanf("%d",&n); w[1]=1; for(i=1;i<=n;i++) w[i+1]=w[i]*i; printf("%d\n",w[i]); 10樓:流年清淺_小豪 利用階乘的定義求解階乘 #include void main() 遞迴方法求階乘 #include "stdio.h" long fact(int n) void main() 11樓:曉神月 我個人認為,沒有那個老師會要求你做這道題用陣列,迴圈比較容易#include mian() printf("n!為:%d",m) return 0} 12樓:匿名使用者 關於陣列用到哪個地方呢?題目沒有更詳細的嗎? 13樓: 你的意思是陣列每個元素儲存一個數,然後陣列的每個數相乘來求階乘嗎? 我覺得用陣列沒必要吧..用for迴圈就可以做到了我寫一部分吧 int i; int j = 1; for ( i = 1; i <=100; i++)j*=i; 醬紫就求得階乘了 c語言程式設計 輸入n 求n的階乘 14樓:修羅丶清 您好,bai我們下構思下程式的基du礎, 讓使用者自定 zhi義輸入一個數作為階乘數dao, 當超過20時,輸出內「n is too big」. 我們需要用容到if函式,以下為詳細過程。 #include using namespace std; int main() if (n > 20) cout << "n is too big" << endl; else cout 15樓:匿名使用者 思路:所謂n的階乘就是從1到n的累積,所以可以通過一個for迴圈,從1到n依次求積即專可。 參考**: #include "stdio.h" int main() /*執行結果:(例如求5的階乘) 5120*/ 16樓:獨日律勇 #include void main(void) }注意如自果是32位版本,int是+- 21億左右的範圍,最大隻能求13的階乘 17樓:匿名使用者 for (;;) console.writeline("的階乘值為du", num, jc); console.writeline("你是否還需要zhi使用此階乘計算器dao,1-是,2-否"); int numb = int.parse(console.readline()); if (numb == 1) if (numb == 2) }console.readkey(); c語言的求n的階乘的程式**。 c語言程式設計:求n的階層 18樓:匿名使用者 臨時幫你寫了個函式,你套下就可以了.比如把i =5,或者者其它數//開始複製,我寫了兩個,這個是js,你可以複製到記事本,反字尾改成.html儲存,用瀏覽器開啟,可以驗證下 //,因為各種語言是相通的.後面那一個是c語言標準. //結束 ::以下是c語言,複製後改成.c用vc開啟他執行即可::start,寫是個函式,你應該會呼叫吧.直接jc (n),n是你想要計算的數值 int jc function (i) return jg; } ::end 19樓:匿名使用者 你是要求n的階乘吧?很簡單,就兩句話,**如下: int fac(int n) 20樓:匿名使用者 就是一個for迴圈啊 int i,result = 1; for(i = 1; i <= n; i++) 21樓:匿名使用者 #include void func(int n) int main() include void main printf 輸出sum n printf sum d sum include iostream.h int fun int n return sum void main define n 100 int i long long t 1,sum 0 i 1 whi... 5fen.由於分數太少,我就寫一個簡單的,本函式可以擴充套件 吧分給我吧 引數 檔名 返回值 字元數 int count char filename return ret 想學好,最好能自己寫。你可以多看看別人寫的,也好為自己寫打下基礎。用c語言編寫一個程式,求a b的絕對值 的和.include ... include define max 100 void main if ch 0 num ch 0 48 i 1 while ch i 0 ch i 9 if ch i else 不是不是,我只是不知道你要小數,要小數就更好辦了,要求只要小數嗎?include stdio.h main 用c語言編寫...用c語言程式設計求12n,用C語言程式設計求12n
求用C語言編寫程式,求用C語言編寫一個程式
求用C語言編寫求絕對值的程式,求用C語言編寫一個求絕對值的程式