看不出来哪里错了...

来源:5-14 综合练习

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


写回答 关注

1回答

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

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

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926225 学习 · 20797 问题

查看课程

相似问题