c語言計算十以內每個數的階乘的和結果遞迴呼叫時一直在加九的階乘急

2021-08-09 03:34:30 字數 1135 閱讀 7894

1樓:匿名使用者

額。。你這個可能是 return sum*i+jc(++i);有問題。。

先會執行++i再執行sum*i所以會少一個。。好像與編譯器有關。。我在vc++上執行沒問題,但是以前在linux上好像不行。。

2樓:匿名使用者

不妨把你的程式修改如下:

#include

int i=1,sum=1;

void main()

}int jc(int x) //計算x!的值

3樓:

你函式的引數沒有用上 。也就是說,你的主函式裡a等於10與等於10000是一樣的結果。過有關於++i和i++的區別是這樣的:

前邊是連加在前,當然先算加號後賦值,後者是連加在後,當然是先用舊值,後計算。對於表示式的計算順序,不同編譯器與系統會有不同方法。如:

a+b,如果這裡a和b都是一個表示式,有的會先計算a,有的先計算b。也就說你的函式返回值,有可能在不同的系統上有不同的返回值,是加法的問題,不是自加的問題。當然,你現在的程式主要錯誤在於,你沒有用上函式的引數x,至於修改,應該很容易。

4樓:匿名使用者

#include

int i=1,sum=1;

void main()

int jc(int x)

else

return 0;}

5樓:匿名使用者

vc6.0上表示沒問題!結果 55

6樓:匿名使用者

你這個題目的意思是:輸入5,1!+2!+3!+4!+5!=?

是這個意思嗎?然後我在回答。

7樓:典海祖香薇

第一個return求的是n>1時的階乘,這樣一層一層地找下去,處理遞迴併返回結果。第二個return前面省略了else,也就是當不滿足n>1這個條件時執行的,是判斷遞迴的邊界,返回的是1的階乘的答案,如果沒有這個return,遞迴就沒有邊界,一直進行下去,就會造成棧溢位。

ps:我也是剛學,說的可能不是很好,希望對你有幫助!

c語言怎麼求n階乘的和,C語言怎麼求n階乘的和

法 步驟 第一步bai du程式設計的第一步就是寫標頭檔案zhi,對於初學者來說,dao 只寫一個標頭檔案就回可以了,即 答 include 第二步 就是定義我們的變數,我們需要定義一個n,用來求他的階乘,sum用來儲存結果,i用來迴圈 第三步 就是把sum初始化,為1.千萬不要為0,保證後面的結果...

C語言輸入一組數字求出每個數字的個數

c語言中 用陣列把輸入的資料存下 注意陣列的大小 下面是自己寫的 沒執行,希望你能看懂方法 手打 define n 100 include void main 記錄0 9出現的次數 printf 輸入你的數字串 for i 0 i for i 0 i 10,i 輸出,只有在數字的count不為0的時...

C語言中怎麼求數的階乘的位數,C語言中怎麼求一個數的階乘的位數

求階乘的 你在網上應該可以搜尋得到,至於求一個數的階乘的位數,可以用如版下代權碼實現 include stdio.h include math.h void main c語言程式實現 zhi如下 include void main while tmp 0 求位數的話把這個數取10的對數就行了。至於求...