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的對數就行了。至於求...