#include <stdio.h>
float tim,km,money;
int part(float tim,float km)
{
if(tim>5&&tim<23)
{
if(km<=3)
{
money=14;
}
else
{
money=13+(km-3)*2.3+1;
printf("白天费用为%f\n",money);
}
return money;
}
else if(tim>=23||tim<=5)
{
if (km<=3)
money=14;
else
{money=13+(km-3)*2.3*1.2+1;
printf("晚上天费用为%f",money);}
return money;
}
else
return 0;
}
int main()
{
float sum;
sum=part(9,12)+part(18,12);
printf("小明每天打车的总费用是%.1f元\n",sum);
return 0;
}
输出的结果:
白天费用为34.700001 白天费用为34.700001 小明每天打车的总费用是68.0元
条件判断语句就有问题了,时间大于等于23或者时间小于5,并不是小于等于
part 执行结果应该是34.7 为什么后面还有0001
因为你的part函数定义为int,应该是这个原因吧