C語言設計 設計階乘的程式比如輸入4輸出24我哪出錯了

時間 2022-04-15 14:05:07

1樓:匿名使用者

n=n*i;

改為i=i*n

因為你的n才是迴圈的條件,在這裡面的n是不斷變化的,這個迴圈應該是轉不到頭的

如果你的意思並非如此,那你需要再設定乙個變數來替代這個n

2樓:匿名使用者

看了大家的回答,我來點評一下,嚯嚯,希望對你有點幫助。

1. net533 的回答有點搞笑,他發現你程式的問題了,但是改錯了。i=i*n 這樣改的話,i的變化就不是你所希望的每次加1了。

2. soloxmas給的**不錯,使用迭代的方法做的,階乘常用的演算法。

3. lookyou23的**也不錯,用for迴圈做的,不需要呼叫子函式,速度會比上一種快。

4. back_bin給的**有個問題,沒有考慮到 n=0 的情況, 眾所周知,0! = 1。他的**對於0的計算結果還是0。

5. veket_linux 看起來比較趕時間啊,回答的比較簡潔,不過能看懂就好。

綜上所述,你自己選乙個適合自己的**吧。希望我的這些廢話能對你有一點點幫助哈~~飄過~~

3樓:匿名使用者

#include

main()

printf("%d",k);

}正確的應該這樣 你的是邏輯錯誤。。主要錯在n=n*i;

4樓:憂傷海域

#include

void main()

printf("%d",j);

}n是輸入的數值,不應再改變,這樣程式的迴圈用以發生不可測運算。試試這個程式。

5樓:

我知道 你的思路沒有問題 再定義 int t=1;

迴圈體裡的語句改為 k=k*i;

就好了希望對你有幫助

有什麼問題可以找我

6樓:

n既然已經做了限制迴圈次數的條件 ,就應該是個固定的值而 n=n*i;將導致n變大!

另外定義個 x

x = 1;

for(......)

7樓:

#include

void main()

printf("%d\n",sum);

}n的值一直變化,所以沒結束條件

8樓:依留昔影

#include

main()

c語言設計1設計程式來模擬簡單的手持

厚鴻騫 首先你輸入的表示式是乙個字串,應該放在陣列裡,然後你得用程式來解析這個字串轉化為四則運算,加減乘除括號這些在一起的話你得考慮優先順序,自己多想想吧 int cal int a,char c,int b return 0 做1個自定義函式 就行了 c語言設計 1 設計乙個程式來模擬乙個簡單的手...

C語言程式設計問題,C語言程式設計問題 設計乙個程式,從鍵盤輸入a b c三個整數,將它們按照從大到小的次序輸出?(最

tt如果等於 a 那麼pp 0 裡的值應該 1,即 pp a a 即 pp tt a a a 0 b a 1 z a 25 明白了嗎 tt是乙個字元。也就是整數型式的ascii碼。用這個字元減掉 a 的值也就成了陣列的下標值。因為字母是按順序排列的。然後陣列下標有了,就找到那個元素值進行 操作。比如...

c語言程式大神幫忙設計一下

自我程式設計 按照題目要求 1 實現檔案寫入功能,一次寫入一個職工資訊。2 實現查詢功能 包含4種條件查詢 3 實現資訊刪除和修改並寫入檔案。根據題意,資料用結構陣列儲存,且職工編號唯一性,因此單獨兩個函式計算資訊長度和編號。除條件查詢函式和讀取檔案的函式,不會自行free釋放記憶體。如你寫 呼叫,...