[問題] 迴圈

看板C_and_CPP (C/C++)作者 (嗯哼)時間15年前 (2009/11/13 20:06), 編輯推噓4(406)
留言10則, 8人參與, 最新討論串2/7 (看更多)
1/2+2/3+...19/20= 我的寫法是這樣 { int i; int n=20; int sum=0; for(i=1;i<n;i++) { sum=sum+i/(i+1); } printf("%d",sum); getch(); return 0; } 可是跑出來結果都是0,請問是有哪邊寫錯了嗎.. -- 我是住在語風的一個小小玩家 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.76.5

11/13 20:09, , 1F
你用INT宣告...0.XXXX的部份會被截掉
11/13 20:09, 1F

11/13 20:10, , 2F
要用浮點數
11/13 20:10, 2F

11/13 20:14, , 3F
更關鍵的地方在, 整數/整數只會產生整數, 以原po的例子
11/13 20:14, 3F

11/13 20:15, , 4F
那該怎麼辦 囧 可是我記得我在學校這個好像可以用
11/13 20:15, 4F

11/13 20:15, , 5F
i或者(i+1)的地方都要加個轉型成浮點型態才行:)
11/13 20:15, 5F

11/13 20:16, , 6F
另外再把sum改成浮點型態, 應該就可以了....
11/13 20:16, 6F

11/13 20:21, , 7F
改成浮點型態後記得print那邊也要改喔~
11/13 20:21, 7F

11/13 20:25, , 8F
改成浮點數之後 應該很快就會遇到truncation error的問題了
11/13 20:25, 8F

11/13 22:02, , 9F
你在學校可以 那是運氣好…
11/13 22:02, 9F

11/15 12:02, , 10F
不可能可以吧…
11/15 12:02, 10F
文章代碼(AID): #1A_KlCUF (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1A_KlCUF (C_and_CPP)