C語言5-14練習
#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點乘車,該執行if還是elseif呢?因為兩個都成立,可以在前面兩個if判斷中加入&&clock1<=23。