问答详情
源自:5-14 综合练习

看不出来哪里错了...

看不出来哪里错了

#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;
}


提问者:sadfqjvoa 2015-08-03 13:58

个回答

  • sadfqjvoa
    2015-08-03 14:01:42

    呃,后来自己发现了,fare()函数定义的返回值是int,最后printf0格式输出是%f,把int fare()改成float fare()就可以了