C語言5-14練習(xí)
#include<stdio.h> #include<math.h> int?main() { int?clock1,miles1,clock2,miles2; float?prise1,prise2,prise; printf("請輸入自己的來回乘車時間和起點距終點的距離。\n"); printf("(提示:時間請輸入整點,并用24小時制,中間請用空格隔開)\n"); printf("舉個栗子:你上班時間6點,下班時間18點,起點和終點距離為8公里。\n"); printf("輸入:6?8?18?8\n"); scanf("%d?%d?%d?%d",&clock1,&miles1,&clock2,&miles2); if(clock1>=5&&miles1>0&&miles1<=3) { prise1=14; } else? { if(clock1>=5&&miles1>3) { prise1=14+(miles1-3)*2.3; } else?if(clock1>=23||clock1<5) { prise1=(14+(miles1-3)*2.3)*1.2; } } if(clock2>=5&&miles2>0&&miles2<=3) { prise2=14; } else? { if(clock2>=5&&miles2>3) { prise2=14+(miles2-3)*2.3; } else?if(clock2>=23||clock2<5) { prise2=(14+(miles2-3)*2.3)*1.2; } } prise=prise1+prise2; printf("車費一共是%f元.",prise); return?0; }
哪位大神幫我看一下這個題目,在23點以后的加價不可以輸出正確答案,但是零點到五點的加價可以輸出正確答案。
2017-03-17
看第26行和31行,如果23點乘車,該執(zhí)行if還是elseif呢?因為兩個都成立,可以在前面兩個if判斷中加入&&clock1<=23。