题目 题目 题目:
题目描述 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;
}
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追加了内容
看在同班的份上,要采纳我哦~
你的思路是对的哦!就是这道题貌似不用定义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追加了内容
我也是尽了毕生“修为”(知识)了!
最后,祝你采纳心怡的回答(望……望采纳……)
(我看不到题干,无法解答)
你好!!!
应将:
if(t/3>=3)
{
sum1=t/3*0.05;
}
改为:
if(t/3>=3)
{
sum1=(t+2)/3*0.05;
}
应为题目说,另外,如果堵车,要加收候时费,每3分钟0.05元,(不到3分钟的部分按3分钟计算)
望采纳!!!