为了账号安全,请及时绑定邮箱和手机立即绑定

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

总是不能算出结果

正在回答

3 回答

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

0 回复 有任何疑惑可以回复我~
#1

梦之契约 提问者

为什么只能用double不能用float?不是都表示小数吗?
2017-08-15 回复 有任何疑惑可以回复我~
#2

Hello_Word_ 回复 梦之契约 提问者

float应该也可以吧,我没试,只是double的精确度更高,而且记得我们老师说最好用double
2017-08-16 回复 有任何疑惑可以回复我~

#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;    
}
这个好理解一点

0 回复 有任何疑惑可以回复我~

#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;
}

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信