看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) XP 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Visual c++ 2010版 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 1/階層倒數 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/LuB3dDg4 補充說明(Supplement): 無法顯示出小數 ,且我一步一步想過了還是想不到解法 QQ 有需要補充再告訴我 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 120.107.188.16 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1477979488.A.1FA.html
Schottky: 有,你的題目到底是什麼11/01 13:56
Schottky: 目前看到有錯的就是 total=1/pro; 這行11/01 14:03
Schottky: pro 是 int,1/pro 是整數除法,改成 1.0/pro 才是你要11/01 14:03
Schottky: 的 double 除法 (有小數點的)11/01 14:03
Schottky: 另外建議學一下單步偵錯技巧11/01 14:04
Schottky: 你現在的計算結果是 1+(1/x!) 這與原來的題目相符嗎?11/01 14:05
yahhhhhh: http://imgur.com/WQEyBZJ 這是題目11/01 14:11
yahhhhhh: 另外單步偵錯是什麼意思 因為我是初學者....11/01 14:12
Schottky: 你的迴圈每次都把 sum 重設為 1 所以計算出來的結果不對11/01 14:18
可是之前我們老師教的是說 sum=sum+xxx那行執行後原本的sum會被替代掉
james732: VC++的話就是按F1011/01 14:19
執行並偵錯嗎? Visual c++是F5
Schottky: cout 有錯字,是「階乘」不是「階層」11/01 14:21
Schottky: 關於偵錯可以看看這篇 (PDF檔),Step就是我說的單步執行11/01 14:23
Schottky: 不過我一直以為老師會先教偵錯...11/01 14:24
感謝你 我上完課回去再看這個 ※ 編輯: yahhhhhh (49.215.211.0), 11/01/2016 14:35:27
Schottky: 我指的不是 sum=sum+total; 那行,而是 sum=1; 那行 11/01 15:15
Schottky: 你這樣 sum 無法累加,每次都被重設為 1 11/01 15:16
pttworld: 寫法x在迴圈內用減的不對。 11/01 15:22
b0920075: 你應該是想寫sum+=1吧,不過這樣while外面要先給值 11/01 21:19
b0920075: 另外1除以int型態最後應該會變成0吧? 11/01 21:20
yahhhhhh: 謝謝大家 我自己想出來了 11/02 23:39