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

请问我这哪里错了

#include <stdio.h>

int fee(int mile,int time)

{

    float a = 2.3;

    int b = 13;

    float cost;

    if(mile>3)

    {

        if(23 <= time < 5)

        {

            cost = b +(mile-3)*2.3*1.2+1;

        }

        else (time<23 || time>5)

        {

            cost = b +(mile-3)*2.3+1;

        }

    }

    else(mile <= 3)

    {

        cost = b;

    }

    return cost;

}

int main()

{

    float sum = fee(12,9) + fee(12,18);

    printf("小明每天打车的总费用为%.2f元",sum);

    return 0;

}


提问者:大米摇一摇 2018-10-24 14:38

个回答

  • 这个名字真好听
    2018-10-30 16:20:39

        if(23 <= time < 5)

            {

                cost = b +(mile-3)*2.3*1.2+1;

            }

    你的这一段有问题   5不应该比23大

    所以应该改成   if(time >= 23 && time <5)

  • 鹅额呃灬
    2018-10-24 18:01:14

    else后面可以不接东西的

    可以是这样子#include <stdio.h>
    int fee(int mile,int time)
    {
        float a = 2.3;
        int b = 13;
        float cost;
        if(mile>3)
        {
            if(23 <= time < 5)
            {
                cost = b +(mile-3)*2.3*1.2+1;
            }
            else
            {
                cost = b +(mile-3)*2.3+1;
            }
        }
        else
        {
            cost = b;
        }
        return cost;
    }
    int main()
    {
        float sum = fee(12,9) + fee(12,18);
        printf("小明每天打车的总费用为%.2f元",sum);
        return 0;
    }