qq_NirvanaLan_0
2016-03-13 03:39
我知道我这样写很啰嗦,但毕竟是我自己的想法,错误多的话还请指出,谢谢
#include <stdio.h>
float fee(int dis,int t)
{
float money;
int flag;
if(5>t||t>=23)
{flag=1;}
else
{flag=0;}
if(dis<=3)
{
money=14;
printf("车费为%f元。\n",money);
}
else
{
if(flag==1)
{
money=13+1+(dis-3)*2.3;
}
else
{
money=13+1+(dis-3)*2.3*1.2;
}
return money;
int main()
{
printf("小明打车费用为%d元",fee(12,9)+fee(12,18));
return 0;
}
float fee(int dis,int t)逗号格式换成英文的, return money;后面加}},你缺了两个大括号的后半部分,条件中的燃油费是不分时段的所以就没必要加flag,条件的需要写出来的只有两个时间和距离,你这个我能改的就这么多,不过金额还不对
这个就是根据你的改的,其中的错误,除了楼上那位所说的错误,最重要的是,你把flag的情况搞反了!应该是当flag==1时,*1.2,因为你的条件是t>5||t<=23,这个时间段应该是加钱,结果你给搞反了
#include <stdio.h>
float fee(int dis,int t)
{
float money;
if(dis<=3)
money=14;
else
{
if(t<5||t>=23)
money=13+1+(dis-3)*2.3*1.2;
else
money=13+1+(dis-3)*2.3;
}
return money;
}
int main()
{
printf("小明打车费用为%.2f元",fee(12,9)+fee(12,18));
return 0;
}
C语言入门
928197 学习 · 21544 问题
相似问题