问题标题: 酷町堂:考试题目:4581出租车计费

0
0
已解决
朱子尘
朱子尘
初级光能
初级光能

题目 题目 题目:

题目描述 Description

出租车计价,起步价3公里以内8元,超过3公里但是不超过10公里的部分每公里2元,超过10公里的部分每公里1.5元。另外,如果堵车,要加收候时费,每3分钟0.05元,(不到3分钟的部分按3分钟计算)。输入里程数m以及堵车时间t,输出总共要付的车费。结果四舍五入保留一位小数。

输入描述 Input Description

两个正整数,里程数m和堵车时间t

输出描述 Output Description

总共的车费(四舍五入保留一位小数)

样例输入 Sample Input

15 4

样例输出 Sample Output

29.6

数据范围及提示 Data Size & Hint

0<m<=50,0<=t<=100

0分代码(之前70,改了后0分)

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int t,m;
    double sum1=0,sum=0;
    cin>>m>>t;
    if(m<=3)
    {
        sum=8.0;
    }
    else if(m<=10)
    {
        sum=8.0+(m-3)*2.0;
    }
    else
    {
        sum=8.0+(10-3)*2.0+(m-10)*1.5;
    }
    if(t%3<=3)
    {
        sum1=0.05;
    }
    else
    {
        sum1=t/3*0.05;
    }
    sum=sum+sum1;
    printf("%.1f",(int)(sum*10+0.5)/10.0);
    return 0;
}

请帮忙看一下

朱子尘在2020-03-26 20:53:35追加了内容

考试已结束,属于订正

朱子尘在2020-03-26 21:03:35追加了内容

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int t,m;
    double sum1=0,sum=0;
    cin>>m>>t;
    if(m<=3)
    {
        sum=8.0;
    }
    else if(m<=10)
    {
        sum=8.0+(m-3)*2.0;
    }
    else if(m>10)
    {
        sum=8.0+(10-3)*2.0+(m-10)*1.5;
    }
    sum1=t/3*0.05;
    sum=sum+sum1;
    printf("%.1f",(int)(sum*10+0.5)/10.0);
    return 0;
}
70分代码

朱子尘在2020-03-26 21:13:31追加了内容

叮叮!最新70分

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int t,m;
    double sum1=0,sum=0;
    cin>>m>>t;
    if(m<=3)
    {
        sum=8;
    }
    if(m>3&&m<=10)
    {
        sum=8+(m-3)*2;
    }
    if(m>10)
    {
        sum=8+(10-3)*2+(m-10)*1.5;
    }
    if(t/3<3)
    {
        sum1=0.05;
    }
    if(t/3>=3)
    {
        sum1=t/3*0.05;
    }
    sum=sum+sum1;
    printf("%.1f",(int)(sum*10+0.5)/10.0);
    return 0;
}


0
已采纳
李瑞曦
李瑞曦
高级天翼
高级天翼

1.你在算侯时费时,判断应该是:if(t%3==0){    sum+=t/3*0.05(这里直接用sum即可);}

                                            else {    sum+=(t/3+1)*0.05;    }

2.不要用多个if,  用else if.

3.最好把t,m都定义成double类型

    这一题其实没有难度,难点一个是:向上取整(你就错了,hhh~),另一个是:四舍五入(我们都会,你写对了,hhh~)

 

李瑞曦在2020-03-26 22:23:38追加了内容

看在同班的份上,要采纳我哦~

0
沈峻宇
沈峻宇
资深天翼
资深天翼

你的思路是对的哦!就是这道题貌似不用定义sum!你把70分代码拿出来看看

沈峻宇在2020-03-26 21:02:37追加了内容

你可以每个判断中都加输出,这样可能会好点!

沈峻宇在2020-03-26 21:07:39追加了内容

ε=(´ο`*)))唉,我个弱鸡实数无能~……

沈峻宇在2020-03-26 21:08:54追加了内容

拜拜了您那!大佬!

沈峻宇在2020-03-26 21:13:50追加了内容

我也是尽了毕生“修为”(知识)了!

最后,祝你采纳心怡的回答(望……望采纳……)

(我看不到题干,无法解答)

0
陈曦
陈曦
资深天翼
资深天翼

t 可以等于0.

陈曦在2020-03-27 09:02:36追加了内容

( t/3<3)是( t>0 && t<=3)。

陈曦在2020-03-27 09:09:55追加了内容

@朱子尘 

0
0
包涵宇
包涵宇
中级天翼
中级天翼

你好!!!

应将:

if(t/3>=3)
    {
        sum1=t/3*0.05;
    }

改为:

if(t/3>=3)
    {
        sum1=(t+2)/3*0.05;
    }

应为题目说,另外,如果堵车,要加收候时费,每3分钟0.05元,(不到3分钟的部分按3分钟计算)

望采纳!!!

0
董宇昊
董宇昊
初级启示者
初级启示者

董宇昊在2020-03-27 14:00:19追加了内容

这是老师的讲解,

望采纳,谢谢!

0
吴君昊
吴君昊
新手光能
新手光能

你的停车时间有问题,要用向上取整,或天花板函数,头文件cmath

sum=8不好,换成sum+=8

祝你AC

0
我要回答