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

我的结果是77.68,大神看看···所以正确结果到底是?

#include <stdio.h>

double c;

double cost(int t ,double d)

{

    double p;

    if(23<=t<=24||0<=t<5)

    {

        p=2.3*1.2;

    }

    else

    {

        p=2.3;

    }

    if(d<=3)

    {

        c=13;

        return c+1;

    }

    else

    {

        c=13+(d-3)*p;

        return c+1;

    }

    

}

int main()

{

    double c=cost(9,12)+cost(18,12);

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

    return 0;

}


提问者:FL_wykjg 2017-02-04 13:38

个回答

  • 綠城灬浪子
    2017-03-13 17:53:21

    69.4


  • 简一_
    2017-02-07 21:35:42

     将 if(23<=t<=24||0<=t<5)改成t>=23&&t<=24||t>=0&&t<5结果就正确啦,&&的优先级比||高,所以不用担心,会先运算完与再运算或的。

  • 远航的小船
    2017-02-04 15:08:47

    #include<stdio.h>
    float Pay(int time,int dis)
    {
    float pay;
    if(time>=23||time<5)
    {
      pay=14+(dis-3)*2.3*1.2;
    }
    else
    {
    pay=14+(dis-3)*2.3;
    }
    return pay;
    }
    int main()
    {
    printf("小明打车的总费用是%f元\n",Pay(9,12)+Pay(18,12));
    return 0;
    }