为什么运行错误呢?谢谢大佬
#include <stdio.h>
float money(int mild,int tim)
{
float fee
if(mild<=13)
{
fee=14;
}
else(mild>13)
{
if(tim>=23&&tim<5)
{
fee=((mild-13)*2.3)*1.2+14;
}
else(tim>=5&&tim<23)
{
fee=(mild-13)*2.2+14;
}
}
return fee;
}
int main()
{
printf("小明需要花费%f.",money(12,9)+money(12,18));
return 0;
}
//你的float 那个语句后面没分号,然后else后面是没有条件的,如果你要加个条件的话,就用else if, #include <stdio.h> float money(int mild,int tim) { float fee; if(mild<=13) { fee=14; } else if(mild>13) { if(tim>=23&&tim<5) { fee=((mild-13)*2.3)*1.2+14; } else if (tim>=5&&tim<23) { fee=(mild-13)*2.2+14; } } return fee; } int main() { printf("小明需要花费%f.",money(12,9)+money(12,18)); return 0; }
float money(int mild,int tim) //这个参数 mild 定义的是什么,我觉得你想定义的是路程。
fee=(mild-13)*2.2+14
fee=((mild-13)*2.3)*1.2+14 //这两个公式都是想表达mild为路程吧。而且为什么一个*2.2,另一个*2.3呀,笔误了吧。
但是
if(mild<=13) // 13是3公里的起步价,是一个价格。你用mild - 13,是用距离(公里)- 价格(元)??
这里是不是和你最开始定义的参数含义不符合了。我猜你想写的应该是if(mild <= 3)吧。后面也一样。