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

5-14综合题(打车价格) 算出28 求助

#include <stdio.h>

float sum(int n, int i)

{

    float Sum;

    if (0<=i<=3)

    {

        Sum=14;

    }

    else if (n>=23||n<5)

    {

        Sum=14+(i-3)*2.3*1.2;

    }

    else

    {

        Sum=14+(i-3)*2.3;

    }

return Sum;

}


int main()

{

    printf("price=%f rmb",sum(9,12)+sum(18,12));

    return 0;

}

第五章5-14综合练习 早上九点 下午六点 12公里打车的价格总数

我怎么算出来一直是28...求大神看看代码哪儿错了

提问者:行间知白 2017-01-27 15:53

个回答

  • 西_界
    2017-01-31 12:01:34

    小修改了一下:

    #include <stdio.h>
    double sum(int n, int i)
    {
        double Sum;
        if (i>=0&&i<=3)
        {
            Sum=14;
        }
        else if (n>=23&&n<5)
        {
            Sum=14+(i-3)*2.3*1.2;
        }
        else
        {
            Sum=14+(i-3)*2.3;
        }
    return Sum;
    }
    
    int main()
    {
        printf("price=%f rmb",sum(9,12)+sum(18,12));
        return 0;
    }

    输出结果为69.4元。http://img.mukewang.com/58900c1b00010fad07170398.jpg

  • Niggurath
    2017-01-27 23:51:38

    主要的错误是C语言中没有连续不等式的写法。把if里的判断条件改成x>=0  &&  x<=5试试。