[問題] 攝氏轉華氏無法顯示小數點部分

看板C_and_CPP作者 (見笑轉生氣)時間12年前 (2012/11/09 11:34), 編輯推噓2(208)
留言10則, 9人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C語言 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 老師要求用函數的方法 這是我打的,可是結果沒辦法顯示小數點部分 是因為int f 是整數嗎 所以到最後雖然y是浮點數,可是整個f函式是整數型式 所以沒辦法顯示小數點部分!? 該怎麼解決呢 餵入的資料(Input): 10.4 預期的正確結果(Expected Output): 50.720000 錯誤結果(Wrong Output): 50.000000 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> int main(int argc, char *argv[]) { double a; printf("輸入攝氏溫度(度C)"); scanf("%lf",&a); printf("等於華氏 %f 度.\n", (double)f(a)); } int f(double x,double y) { y=x*9/5+32; printf("x=%lf\n",x); printf("y=%lf\n",y); return y; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.17.88

11/09 11:36, , 1F
請把 int f 換成 double f吧......
11/09 11:36, 1F

11/09 11:46, , 2F
置底十三戒之七
11/09 11:46, 2F

11/09 12:11, , 3F
f函數回傳是int單然嚕!!!!傳出整數!!再轉f怎麼會有呢?
11/09 12:11, 3F

11/09 14:22, , 4F
為什麼要多繞一圈呢!!
11/09 14:22, 4F

11/09 15:31, , 5F
娃娃車老是要把大街小巷都走一圈才會到家 |D
11/09 15:31, 5F

11/09 19:30, , 6F
直接傳double
11/09 19:30, 6F

11/09 22:28, , 7F
宣告 f(double x, double y) 呼叫 f(a) 會出什麼事..?
11/09 22:28, 7F

11/09 23:30, , 8F
compiler error
11/09 23:30, 8F

11/10 18:23, , 9F
double f()
11/10 18:23, 9F

11/14 00:35, , 10F
電腦要爆炸瞜~~~
11/14 00:35, 10F
文章代碼(AID): #1Gd7dCaX (C_and_CPP)