Re: [問題] 練習題

看板C_Sharp (C#)作者時間18年前 (2007/05/04 02:01), 編輯推噓3(301)
留言4則, 3人參與, 最新討論串8/8 (看更多)
溫度轉換的題目,是說請將攝氏溫度轉華式溫度。 (轉換公式 f=9/5*c+32) 那我的作法如下: namespace C3_2 { class Program { static void Main(string[] args) { string sa; double x,a; Console.Write("請輸入攝氏溫度 : "); sa=Console.ReadLine(); a = double.Parse(sa); x = (float)9 / 5 * a + 32; Console.Write("轉換的溫度為 : {0}", x); Console.ReadLine(); } } } 疑問的是在黃色的部分 如果我寫成 x=(float)(9/5)*a+32; 那麼答案就怪怪的,比如我輸入 5 正確的輸出是41 可是寫成 x=(float)(9/5)*a+32; 卻是37 我在想 是因為x=(float)(9/5)*a+32; 黃色括弧的關係嗎?可是系統怎麼會判斷 哪個先做? 哪個後做? 還是說不能用數學的想法去寫這斷公式? -- ▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw> █▄▄▄▄█ █ ▄▄▄▄▄█ Player: Crazy ▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: 203-73-66-74.adsl.dynamic.s ☆ 次世代BS2 ☆ 可申請個人板 150MB 相簿 http://pic.bs2.to 交大資訊人 250MB

05/04 02:18, , 1F
對 (9/5)會判斷成整數除法=1
05/04 02:18, 1F

05/04 02:19, , 2F
(float)9 / 5 會先把9轉成float再除5就會是float除法
05/04 02:19, 2F

05/04 03:06, , 3F
((float)9) / 5 => 這樣不是更清楚嗎?
05/04 03:06, 3F

05/04 06:10, , 4F
這篇轉信來的 推文他看不到喔 XD
05/04 06:10, 4F
文章代碼(AID): #16EYDV00 (C_Sharp)
文章代碼(AID): #16EYDV00 (C_Sharp)