问题标题: 酷町堂:5562 出租车计价(price)

0
0
已解决
李宜和
李宜和
高级启示者
高级启示者

我对if-else if-else语句掌握的不好,大佬给给思路

 

 

5562   出租车计价(price)

经验值:800 时间限制:1000毫秒

瑶海区2020年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

某市出租车共分A、B两种车型计价标准如下,A型出租车:起步价8元/2.5公里,超出2.5公里,1.3元/公里,不足1公里按1公里计算,乘车时间超出5分钟,每分钟加收0.4元; B型出租车:起步价9元/2.5公里,超出2.5公里,1.5元/公里,不足1公里按1公里计算,乘车时间超出5分钟,每分钟加收0.6元:请帮忙计算乘车费用。

输入描述 Input Description

共两行,第一行一个字母A或B,表示出租车的种类:第二行有两个用空格分隔的数值,第一个数值为最多一个小数位的浮点数,表示总乘车路程,第二个为整数,表示乘车总时间。

输出描述 Output Description

一行一个正整数(四舍五入),表示乘车费用。

样例输入 Sample Input

A 2.6 6

样例输出 Sample Output

10

数据范围及提示 Data Size & Hint

路程和时间都在100内。

 

dalao给给思路,(最好发核心的伪代码)


0
已采纳
刘艺凡
刘艺凡
资深守护
资深守护

char a(判断是A是B); double b(乘车路程),e(记录总价); int c(时间),d(四舍五入要用);

输入a,b,c;

然后判断,如果a==‘A’,那么e=ceil(乘车路程-起步路程)*价格+起步价+(时间-5)*加收价格。

其他(如果a==“B”),那么e=ceil(乘车路程-起步路程)*价格+起步价+(时间-5)*加收价格。

直接把e的值附在d里。(double到int里会自动舍去小数部分)

判断,如果e-d>=0.5 d++

输出d即可。

有图为证:

四舍五入是我自己瞎想的,只能用于保留整数,很垃圾。望采纳。

0
王文博
王文博
缔造者之神
缔造者之神

这个是典型的计费问题(虽然我也没有写这道水题)

一一判断就可以了

0
李沫朴
李沫朴
新手天翼
新手天翼
  • char z;
  • double s,f;
  • int t;
  • cin>>z>>s>>t;
  • if(z=='A'){
  • if(s<=2.5){
  • f=8;
  • } else{ f=8+ceil(s-2.5)*1.3;
  • } if(t>5){ f+=(t-5)*0.4;
  • }
  • } if(z=='B'){ i
  • f(s<=2.5){ f=9;
  • } else{ f=9+ceil(s-2.5)*1.5; } if(t>5){ f+=(t-5)*0.6;
  • }
  • } cout<<int(f+0.5); 
  • }
我要回答