担当小佩佩
2018-04-13 23:33
#include <stdio.h>
float costMoney(int tim1,int tim2,int dis )//tim1上班时间,tim2下班时间,dis上班里程数
{
float pay;
if(tim1>=23&&tim1<5&&tim2>=23&&tim2<5)//上下班均在凌晨
{
if(dis<=3)
{
pay=13+0.2*dis;
}
else
{
pay=(13+(dis-3)*2.3+1)+0.2*dis+(13+(dis-3)*2.3+1)+0.2*dis;
}
}
else if(tim1<23&&tim1>=5&&tim2>=23&&tim2<5)//正常上班,凌晨下班
{
if(dis<=3)
{
pay=13;
}
else
{
pay=(13+(dis-3)*2.3+1)+0.2*dis+(13+(dis-3)*2.3+1);
}
}
else if(tim1>=23&&tim1<5&&tim2<23&&tim2>=5)//凌晨上班,正常下班
{
if(dis<=3)
{
pay=13;
}
else
{
pay=(13+(dis-3)*2.3+1)+(13+(dis-3)*2.3+1)+0.2*dis;
}
}
else if(tim1<23&&tim1>=5&&tim2<23&&tim2>=5)//正常上班,正常下班
{
if(dis<=3)
{
pay=13;
}
else
{
pay=(13+(dis-3)*2.3+1)+(13+(dis-3)*2.3+1);
}
}
return pay;
}
int main()
{
printf("小明每天打车的总费用为%f\n",costMoney(9,6,12));
return 0;
}
因为你输入的9,6,12这个参数只有最后 pay=(13+(dis-3)*2.3+1)+(13+(dis-3)*2.3+1);
满足,其他都不满足,提醒一下你之前的判断设置有些问题,整数>23&&<5,这样的数是不存在的
C语言入门
926020 学习 · 20793 问题
相似问题