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