为了账号安全,请及时绑定邮箱和手机立即绑定

有大佬再给优化精简下这个代码嘛~~~

#include <stdio.h>


double TaxiPrice(double hour,double length)

{

int InitialPrices = 13;   //起步价 

double PerPrices = 2.3;   //每公里增加的价格 

double AddPrices = PerPrices * 0.2;    // 晚上的加费用 

int OncePrices = 1;  //燃油附加税

double TotalPrices = 0;  //初始化总价 

if (length <= 3)                   //判断是否为起步价 

{

TotalPrices = InitialPrices + OncePrices;     //起步价 

}

else

{

if (hour >= 23 || hour < 5)          //判断是否为夜间加价时段 

{

TotalPrices = InitialPrices + PerPrices * (length - 3) + OncePrices + length * AddPrices;   //夜间时段价格 

}

else

{

TotalPrices = InitialPrices + PerPrices * (length - 3) + OncePrices;  //普通时段价格 

}

}


return TotalPrices;

}


int main()

{

double LeaveLength,LeaveHour,TurnLength,TurnHour,AllPrices;    //定义相关函数 


printf("请输入前往公里数\n");          //输入相关数值 

scanf("%lf",&LeaveLength);

printf("请输入前往时间(24小时制度)\n");

scanf("%lf",&LeaveHour);

printf("请输入返回公里数\n");

scanf("%lf",&TurnLength);

printf("请输入返回时间(24小时制度)\n");

scanf("%lf",&TurnHour);

if(LeaveHour>24||TurnHour>24)         //判断输入时间是否正确 

{

printf("请输入正确的时间再进行计算。\n"); 

}

else

{

AllPrices = (TaxiPrice(LeaveHour,LeaveLength) + TaxiPrice(TurnHour,TurnLength));           //计算总价


printf("本次需要花费的出租车车费为:%6.2f 元", AllPrices);           //输出总价 

}


return 0;

}

/*北京市出租车打车计费规则如下:


1. 每公里单价计费2.3元


2. 起步价13元(包含3公里)


3. 晚上23点(含)至次日凌晨5点(不含)打车,每公里单价计费加收20%。


4. 每次乘车加收1元钱的燃油附加税。


小明每天上下班都要打车,公司和家的距离为12公里,上午上班时间为9点,下午下班时间为6点。*/


正在回答

2 回答

哦哦哦,忘记了,diatance为距离,time是时间,price为计算的价格,另外distance<=3那里,忘记给师傅一元燃油费了~~改为


if(distance<=3){//这里判断超没超过3公里,没超过就13元   
     price=13+1; 
     //printf("价格为13元,但是小伙子别忘记我的燃油费一元呢,~~~所以是14元哦qaq");
}


0 回复 有任何疑惑可以回复我~
#include <stdio.h>
double coast(double time,double distance){
    double price=0;
    if(time>=5&&time<23){//判断输入的是哪个时间段,这里是判断时间在不在5<=time<23,也就是[5,23)
        if(distance<=3)//这里判断超没超过3公里,没超过就13元
        price=13; //printf("价格为13元");
        else{//
           price=13+(distance-3)*2.3+1;//这里看超过3公里了么,超过就要按公里计费了哦
        }
    }
    else {//这里是判断时间在不在time>23,time<5
        price=13+(distance-3)*2.3*0.2+1;//这里需要乘20%,也就是0.2了
    }
}
int main()
{
    double price=coast(9,12)+coast(6,12);//总和为早上的9点12公里加晚上的6点12公里
    printf("哎呀,竟然花了%f",price);
    return 0;
}


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

有大佬再给优化精简下这个代码嘛~~~

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信