这里哪里错了?总是不能算出结果

来源:5-14 综合练习

梦之契约

2017-08-14 16:03

总是不能算出结果

写回答 关注

3回答

  • Hello_Word_
    2017-08-14 17:35:37
    已采纳

    定义的sum的数据类型错误,然后最后的printf里应该是sumc,我算的这个 答案是69.4

    Hello_... 回复梦之契约

    float应该也可以吧,我没试,只是double的精确度更高,而且记得我们老师说最好用double

    2017-08-16 18:22:56

    共 2 条回复 >

  • Hello_Word_
    2017-08-14 18:01:25

    #include <stdio.h>
    double getTaxiPrice(int hours,int distance)
    {
        double totalPrice = 0.0;    //定义打车费用
        double perPrice = 2.3;    //定义每公里单价计费
        int startPrice = 13;    //定义起步价

        if(hours<0 || hours>24){
            printf("请填写正确的时间\n");
            return 0;
        }
        else if(!(hours>=5 && hours<23))    //判断打车时间是否要增加费用
        {
            perPrice *= 1.2;    //费用增加20%                         
        }
        if(distance >3)        //判断公里数
        {
            totalPrice = startPrice +(distance - 3)*perPrice;    //计算价钱
        }
        else
        {
            totalPrice = startPrice;    
        }
        totalPrice++;    //加一块钱的燃油费
        return totalPrice;
    }
    int main()
    {
        int moring = 9;    //定义上午打车时间
        int afternoon = 18;    //定义下午打车时间
        int distance = 12;    //定义打车公里数
        double totalPrice = 0;    //定义总费用
        if(getTaxiPrice(moring,distance) != 0)
        {
            totalPrice = getTaxiPrice(moring,distance);    //调用计算费用的函数
        }
        if(totalPrice != 0)
        {
            totalPrice += getTaxiPrice(afternoon,distance);    //调用计算费用的函数
        }
        printf("小明每天打车的总费用是:%.2f\n",totalPrice);    //输出
        return 0;    
    }
    这个好理解一点

  • Hello_Word_
    2017-08-14 17:34:08

    #include <stdio.h>
    double pri(int mile,int times)
    {
        double sum;
        if(mile<=3)
        sum=13+ 1;
        else
        sum=2.3*(mile- 3)+ 14;
        if(times>=23||times<=5)
        sum=2.3*1.2*(mile-3)+14;
        return sum;
    }
    int main()
    {
      double suma=pri(12,9);
        double sumb=pri(12,18);
        double sumc=suma+sumb;
        printf("小明每天打车的总费用为%lf\n",sumc);
        return 0;
    }

C语言入门

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

926209 学习 · 20797 问题

查看课程

相似问题