#include <stdio.h>
float pay(int z,int s)
{
float y;
if(s<=3)
{
y=14;
printf("费用为14元");
}
else
{
if(z>=5&&z<23)
{
y=14+(s-3)*2.3;
}
else
{
y=14+(s-3)*1.2*2.3;
}
return y;
}
int main()
{
printf("费用为%f元",pay(9,12)+pay(18,12));
return 0;
}
你的判断语句出现问题了。第二个else的情况是这样的:s > 3 && (z < 5 || z > =23)
综合判断情况就出现了错误。