return totalPrice; 这里不懂为什么要返回为totalPrice?还有最后面倒数的那两个if,else中的语句怎么解释,看不懂。if(getTaxiPrice(moring,distance) != 0)....
#include <stdio.h>
double getTaxiPrice(int hours,int distance)
{
double totalPrice = 0.0; //定义打车费用
double perPrice = 2.3; //定义每公里单价计费
int startPrice = 13; //定义起步价
if(hours<0 || hours>24){
printf("请填写正确的时间\n");
return 0;
}
else if(!(hours>=5 && hours<23)) //判断打车时间是否要增加费用
{
perPrice *= 1.2; //费用增加20%
}
if(distance >3) //判断公里数
{
totalPrice = startPrice +(distance - 3)*perPrice; //计算价钱
}
else
{
totalPrice = startPrice;
}
totalPrice++; //加一块钱的燃油费
return totalPrice;
}
int main()
{
int moring = 9; //定义上午打车时间
int afternoon = 18; //定义下午打车时间
int distance = 12; //定义打车公里数
double totalPrice = 0; //定义总费用
if(getTaxiPrice(moring,distance) != 0)
{
totalPrice = getTaxiPrice(moring,distance); //调用计算费用的函数
}
else if(totalPrice != 0)
{
totalPrice += getTaxiPrice(afternoon,distance); //调用计算费用的函数
}
printf("小明每天打车的总费用是:%.2f\n",totalPrice); //输出
return 0;
}