看板 C_and_CPP 關於我們 聯絡資訊
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
janice001:你用INT宣告...0.XXXX的部份會被截掉 11/13 20:09
s80773:要用浮點數 11/13 20:10
VictorTom:更關鍵的地方在, 整數/整數只會產生整數, 以原po的例子 11/13 20:14
qwe801031:那該怎麼辦 囧 可是我記得我在學校這個好像可以用 11/13 20:15
VictorTom:i或者(i+1)的地方都要加個轉型成浮點型態才行:) 11/13 20:15
VictorTom:另外再把sum改成浮點型態, 應該就可以了.... 11/13 20:16
topwing:改成浮點型態後記得print那邊也要改喔~ 11/13 20:21
annie:改成浮點數之後 應該很快就會遇到truncation error的問題了 11/13 20:25
MOONRAKER:你在學校可以 那是運氣好… 11/13 22:02
ZMDYEMWP:不可能可以吧… 11/15 12:02