问答详情
源自:5-14 综合练习

初学,只会这种,有没有更简洁的方法

#include <stdio.h>

float Pay,cost;//Pay为总费用,cost为每次搭车费用

int x,y;//x为公里数,y为每公里单价

double pay(int time)//几点搭车的费用函数

{

    x=12,y=2.3;//已知条件

if(time >= 23 || time<5)//时间判断语句

{

    y=1.2*y;//夜间加收费后单价

}

else

{

y=y;

}

if(x<=3)//路程判断语句

{

    cost = 13;

}

else

{

    cost = (x-3)*y+13;//超过3公里时的费用

}

cost=cost+1;//每次搭车加收1元

return cost;//将费用返回调用

}

int main()

{

   Pay=pay(9)+pay(18);//调用搭车费用函数算总价

   printf("小明每天打车总费用为%f\n",Pay);//输出结果

    return 0;

}


提问者:qq_慕田峪8279976 2019-01-05 18:32

个回答

  • java黑小白
    2019-08-26 10:16:00

    if(里程<=3公里)

    {13元}

    else

    {

    if(晚上23点(含)至次日凌晨5点(不含))

    {费用 = 13元 + (里程-3)*2.3元*(1+0.2)}

    else

    {费用 = 13元 + (里程-3)*2.3元}

    }

    费用+=1元