[問題] 用程式算電費,好貴!

看板C_and_CPP (C/C++)作者 (湘a)時間16年前 (2010/04/13 15:12), 編輯推噓4(404)
留言8則, 4人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 電費的計算,可是算出來超多錢的 100度以下是3元 101~200度是3.2元 201~300度是3.4元 301~400度是3.6元 401~500度是3.8元 500以上是4元 希望得到的正確結果: 正常價格= =a 程式跑出來的錯誤結果: 例如輸入120度出來答案會是2293616元 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Dev-C++ 不好意思,剛剛忘記附程式 我的程式: #include<stdlib.h> #include<stdio.h> intmain(intargc,char*argv[]) { inta; intprice; printf("請輸入用電度數:"); scanf("%d",&a); if(a>=0) { switch(a/100) { case0: case1: price=a*3.0; printf("您的電費為:%d元\n",&price); break; case2: printf("您的電費為:%d元\n",300+(a-100)*3.2); break; case3: printf("您的電費為:%d元\n",100*3+100*3.2+(a-200)*3.4); break; case4: printf("您的電費為:%d元\n",100*3+100*3.2+100*3.4+(a-300)*3.6); case5: printf("您的電費為:%d元\n",100*3+100*3.2+100*3.4+100*3.6+(a-400)*3.8); default: printf("您的電費為:%d元\n",100*3+100*3.2+100*3.4+100*3.6+100*3.8+(a-500)*4.0); } } else printf("免錢\n"); system("pause"); return0; } 補充說明: 請各位大大幫忙>< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.110.38.6 ※ 編輯: s99532044 來自: 123.110.38.6 (04/13 15:15)

04/13 15:13, , 1F
Code呢?
04/13 15:13, 1F

04/13 15:14, , 2F
試試用 %f 取代 %d?
04/13 15:14, 2F
※ 編輯: s99532044 來自: 123.110.38.6 (04/13 15:16)

04/13 15:24, , 3F
switch(a/100)用意是啥? 你輸入120..不就變switch(1)
04/13 15:24, 3F

04/13 15:24, , 4F
不過最主要是您的電費為:%d元\n",&price); 改price
04/13 15:24, 4F

04/13 15:25, , 5F
喔喔..第一段不要理我.XD
04/13 15:25, 5F

04/13 15:28, , 6F
我改了@@可是還是好多錢
04/13 15:28, 6F

04/13 15:30, , 7F
price沒給初值
04/13 15:30, 7F

04/13 15:32, , 8F
解決了!我是笨蛋!!
04/13 15:32, 8F
文章代碼(AID): #1Bn1b8P3 (C_and_CPP)
文章代碼(AID): #1Bn1b8P3 (C_and_CPP)