请大神帮我看看对不对

来源:5-14 综合练习

qq_NirvanaLan_0

2016-03-13 03:39


我知道我这样写很啰嗦,但毕竟是我自己的想法,错误多的话还请指出,谢谢

#include <stdio.h>
float fee(int dis,int t)
{   
    float money;
    int flag;
    if(5>t||t>=23)
    {flag=1;}
    else
    {flag=0;}
    if(dis<=3)
    {
        money=14;
        printf("车费为%f元。\n",money);
    }
    else
    {
    if(flag==1)
    {
        money=13+1+(dis-3)*2.3;
    }
    else
    {
        money=13+1+(dis-3)*2.3*1.2;
    }
    return money;
int main()
{
    printf("小明打车费用为%d元",fee(12,9)+fee(12,18));
    return 0;
}


写回答 关注

3回答

  • 只为伊人心独醉
    2016-03-14 12:20:08
    已采纳

    float fee(int dis,int t)逗号格式换成英文的,  return money;后面加}},你缺了两个大括号的后半部分,条件中的燃油费是不分时段的所以就没必要加flag,条件的需要写出来的只有两个时间和距离,你这个我能改的就这么多,不过金额还不对

    qq_Nir...

    非常感谢!

    2016-04-05 16:56:35

    共 1 条回复 >

  • 斜雨潇潇请落下
    2016-03-31 14:49:57

    这个就是根据你的改的,其中的错误,除了楼上那位所说的错误,最重要的是,你把flag的情况搞反了!应该是当flag==1时,*1.2,因为你的条件是t>5||t<=23,这个时间段应该是加钱,结果你给搞反了

  • 斜雨潇潇请落下
    2016-03-31 14:46:17

    #include <stdio.h>

    float fee(int dis,int t)

    {   

        float money;

        if(dis<=3)

            money=14;

        

        else

        {

            if(t<5||t>=23)

                money=13+1+(dis-3)*2.3*1.2;

            else

                money=13+1+(dis-3)*2.3;

        }

        return money;

    }

    int main()

    {

        printf("小明打车费用为%.2f元",fee(12,9)+fee(12,18));

        return 0;

    }


C语言入门

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

926207 学习 · 20797 问题

查看课程

相似问题