[問題] 關於float、double資料型態的運用??

看板C_and_CPP作者 (千里之外)時間13年前 (2011/07/05 20:18), 編輯推噓0(0012)
留言12則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) dev-c++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 結果都是0元?? 已爬過文了...但仍不明為何?? 已在money和printf()內都加過double或float了..輸出都是0元... 請問我這個程式應怎麼改...才能不論輸入幾元...都可正常輸出正確答案呢?? 程式碼(Code):(請善用置底文網頁, 記得排版) #include <stdio.h> #include <stdlib.h> int main(void){ double money; char ch; printf("請輸入購買金額: "); scanf("%d",&money); printf("請告知是否為VIP(N/Y)?: "); scanf(" %c",&ch); if(ch=='y'||ch=='Y') money *= 0.5; else money *= 0.9; printf("需支付金額為%f元\n",(double)money) ; system("pause"); return 0; } 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.46.113.23

07/05 20:26, , 1F
%lf
07/05 20:26, 1F

07/05 20:27, , 2F
scanf("%lf",&money); printf("需支付金額為%lf元\n"...
07/05 20:27, 2F

07/05 21:04, , 3F
感謝樓上兩位相助...
07/05 21:04, 3F

07/05 21:05, , 4F
再請問一下,若先設定1f,那我輸入金額是2位數以上
07/05 21:05, 4F

07/05 21:06, , 5F
答案就錯了..?? 難道一開始要設大一點嗎?? 如10f?
07/05 21:06, 5F

07/05 21:07, , 6F
lf 是 L 的小寫,不是 123 的 1
07/05 21:07, 6F

07/05 21:09, , 7F
總是有不少人都會看錯...
07/05 21:09, 7F

07/05 21:09, , 8F
^會
07/05 21:09, 8F

07/05 21:09, , 9F
在BBS上面真的很難分辦 XD →l1l1l1l1l1l1l1
07/05 21:09, 9F

07/05 21:11, , 10F
我用gemanx ascii字與 一般字的字型 是分開的 :)
07/05 21:11, 10F

07/05 22:36, , 11F
原來如此....感謝各位...
07/05 22:36, 11F

07/06 11:04, , 12F
請愛用中英文分開設定的 BBS 軟體與程設用字型XD
07/06 11:04, 12F
文章代碼(AID): #1E4m4NuP (C_and_CPP)