ELIAUK,., 2022-04-07 16:20 采纳率: 66.7%
浏览 59
已结题

有哪里出错了吗?初学者

2.某城市出租车收费标准为:“起步里程3km,起步费6元;超起步里程后8km内,每公里租费1.8元;超过8km以上的部分加收50%的回空补贴费,即每公里租费2.7元。营运过程中,因路阻及乘客要求临时停车的,每5min按1km租费计收。运价计费尾数四舍五入保留到元。”编写程序,输入行驶里程(公里)和等待时间(分钟),计算并输出乘客应支付的车费(元)。
#include<stdio.h>
int main()
{double s,t,c,x,y;
printf("请输入行驶里程(km)和等待时间(min):\t");
scanf("%lf,%lf\n",&s,&t);
if(t<5)
{if(s<=3)
c=6;
else{if(s>3&&s<=8)
c=6+1.8*(s-3);
else
c=6+1.8*(8-3)+2.7*(s-8);
}
y=(int)(c+0.5);
printf("乘客应支付的车费:%.0f(元)",y);
}
else
x=s+(int)(t/5);
{if(x<=3)
c=6;
else{if(x>3&&x<=8)
c=6+1.8*(x-3);
else
c=6+1.8*(8-3)+2.7*(x-8);
}
y=(int)(c+0.5);
printf("乘客应支付的车费:%.0f(元)",y);}
return 0;
}

  • 写回答

2条回答 默认 最新

  • 关注

    这里else大括号没写对,你这样最后两种情况的都会输出

    img


    修改后

    #include<stdio.h>
    int main()
    {double s,t,c,x,y;
    printf("请输入行驶里程(km)和等待时间(min):\t");
    scanf("%lf,%lf\n",&s,&t);
    if(t<5)
    {if(s<=3)
    c=6;
    else{if(s>3&&s<=8)
    c=6+1.8*(s-3);
    else
    c=6+1.8*(8-3)+2.7*(s-8);
    }
    y=(int)(c+0.5);
    printf("乘客应支付的车费:%.0f(元)",y);
    }
    else{
    x=s+(int)(t/5);
    if(x<=3)
    c=6;
    else{if(x>3&&x<=8)
    c=6+1.8*(x-3);
    else
    c=6+1.8*(8-3)+2.7*(x-8);
    }
    y=(int)(c+0.5);
    printf("乘客应支付的车费:%.0f(元)",y);}
    return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月15日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日

悬赏问题

  • ¥15 帮我调试idea基于spring boot项目
  • ¥15 es 7.17.20版本生成时间戳
  • ¥15 wpf dategrid表头排序图标自定义
  • ¥15 分析下图所示同步时序逻辑电路的逻辑功能。
  • ¥15 halcon联合c#遇到了问题不能解决
  • ¥15 xshell无法连接提示ssh服务器拒绝密码
  • ¥15 AT89C52单片机C语言关于串口通信的位操作
  • ¥20 需要步骤截图(标签-服务器|关键词-map)
  • ¥50 gki vendor hook
  • ¥15 灰狼算法和蚁群算法如何结合