sadfqjvoa
2015-08-03 13:58
看不出来哪里错了
#include <stdio.h>
int fare(int s,int time)
{
//定义单价
float kmPrice=2.3; //每公里单价
float firstPrice=13; //起步价
float fuel=1; //燃油附加费
//判断是否为夜间乘车
int plus=0;
if(time<5||time>=23)
{
plus=0.2;
}
//小于三公里
if(s<3&&s>0)
{
return kmPrice*(1+plus)+fuel;
}
else if(s>=3)//大于等于三公里
{
return (firstPrice+kmPrice*(s-3))*(1+plus)+fuel;
}
}
int main()
{
int S=2;
printf("%d公里的价格为%f\n",S,fare(S,9));
return 0;
}
呃,后来自己发现了,fare()函数定义的返回值是int,最后printf0格式输出是%f,把int fare()改成float fare()就可以了
C语言入门
928197 学习 · 21544 问题
相似问题