北京市出租車打車計(jì)費(fèi)規(guī)則如下:1. 每公里單價(jià)計(jì)費(fèi)2.3元2. 起步價(jià)13元(包含3公里)3. 晚上23點(diǎn)(含)至次日凌晨5點(diǎn)(不含)打車,每公里單價(jià)計(jì)費(fèi)加收20%。4. 每次乘車加收1元錢的燃油附加稅。小明每天上下班都要打車,公司和家的距離為12公里,上午上班時(shí)間為9點(diǎn),下午下班時(shí)間為6點(diǎn)。請(qǐng)編寫一個(gè)小程序計(jì)算小明每天打車的總費(fèi)用。下面的是我的代碼:#include?<stdio.h>
int?zongfeiyong(int?time,int?n)
{
??int?price=2.3,i,sum=0;//定義單價(jià),單價(jià)增幅比,總費(fèi)用
??if(n>0&&n<=3)
??{sum=13+1;}
??else
??{
??????if((time>=23&&time<=24)||(time>0&&time<5))
??????{i=1;}
??????else
??????{i=1.2;}
??????sum=(price*i)*(n-3)+13+1;
??}
?
???return?sum;
}
int?main()
{???int?am,pm,l,sumam,sumpm;?/*am早上的時(shí)間,pm下午的時(shí)間,l距離,sumam早上花費(fèi)的費(fèi)用,pm下午花費(fèi)的費(fèi)用*/
????am=9;
????pm=6;
????l=12;
???sumam=zongfeiyong(am,l);
???printf("小明上午%d點(diǎn)打車花費(fèi)了%d元!\n",am,sumam);
???sumpm=zongfeiyong(pm,l);
????printf("小明下午%d點(diǎn)打車花費(fèi)了%d元!\n",pm,sumpm);
????printf("小明每天打車的總費(fèi)用是%d元!\n",sumam+sumpm);
??return?0;??
}下面我上面的程序計(jì)算得到的結(jié)果:小明上午9點(diǎn)打車花費(fèi)了32元!小明下午6點(diǎn)打車花費(fèi)了32元!小明每天打車的總費(fèi)用是64元!但是慕課網(wǎng)給的參考答案是:#include?<stdio.h>
double?getTaxiPrice(int?hours,int?distance)
{
double?totalPrice?=?0.0; //定義打車費(fèi)用?
double?perPrice?=?2.3; //定義每公里單價(jià)計(jì)費(fèi)?
int?startPrice?=?13; //定義起步價(jià)?
if(hours<0?||?hours>24){
printf("請(qǐng)?zhí)顚懻_的時(shí)間\n");
return?0;
}
else?if(!(hours>=5?&&?hours<23)) //判斷打車時(shí)間是否要增加費(fèi)用
{
perPrice?*=?1.2; //費(fèi)用增加20%?????????????????????????
}
if(distance?>3) //判斷公里數(shù)
{
totalPrice?=?startPrice?+(distance?-?3)*perPrice; //計(jì)算價(jià)錢
}
else
{
totalPrice?=?startPrice;????
}
totalPrice++; //加一塊錢的燃油費(fèi)
return?totalPrice;
}
int?main()
{
int?moring?=?9; //定義上午打車時(shí)間
int?afternoon?=?18; //定義下午打車時(shí)間
int?distance?=?12; //定義打車公里數(shù)
double?totalPrice?=?0; //定義總費(fèi)用
if(getTaxiPrice(moring,distance)?!=?0)
{
totalPrice?=?getTaxiPrice(moring,distance); //調(diào)用計(jì)算費(fèi)用的函數(shù)
}
else?if(totalPrice?!=?0)
{
totalPrice?+=?getTaxiPrice(afternoon,distance); //調(diào)用計(jì)算費(fèi)用的函數(shù)
}
printf("小明每天打車的總費(fèi)用是:%.2f\n",totalPrice); //輸出
return?0;????
}下面是參考答案的計(jì)算結(jié)果:小明每天打車的總費(fèi)用是:34.70求大神解釋一下我的程序哪里有問題?謝謝!
3 回答

昨夜小樓泣東風(fēng)
TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
????if(getTaxiPrice(moring,distance)?!=?0) ????{ ????????totalPrice?=?getTaxiPrice(moring,distance);?? ????????printf("早上的這句我運(yùn)算啦\n");------------這一句輸出啦,說明計(jì)算了早上的錢 ????} ????else?if(totalPrice?!=?0) ????{ ????????totalPrice?+=?getTaxiPrice(afternoon,distance);??? ????????printf("晚上的這句我運(yùn)算啦\n");-------這一句并沒有輸出,說明根本沒進(jìn)else?if中 ????????????????????????????????????????????????????所以他根本沒算晚上的錢 ????} ????printf("小明每天打車的總費(fèi)用是:%.2f\n",totalPrice);???? ????return?0;??? } ?我個(gè)人認(rèn)為答案有問題。。。。它的答案只是算了早上上班的錢。。。。 ?當(dāng)然你也可以用數(shù)學(xué)算算他一天花多少錢

昨夜小樓泣東風(fēng)
TA貢獻(xiàn)2條經(jīng)驗(yàn) 獲得超0個(gè)贊
?if((time>=23&&time<=24)||(time>0&&time<5))
??????{i=1;}-----------------這里應(yīng)該為i=1.2。晚上23點(diǎn)(含)至次日凌晨5點(diǎn)(不含)打車,每公里單價(jià)計(jì)費(fèi)加收20%。
??????else
??????{i=1.2;}---------------這里應(yīng)該為i=1
- 3 回答
- 0 關(guān)注
- 1634 瀏覽
添加回答
舉報(bào)
0/150
提交
取消