分数 15
作者 沈睿
单位 浙江大学
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
输入样例1:
2.6 2
输出样例1:
10
输入样例2:
5.1 4
输出样例2:
14
输入样例3:
12.5 9
输出样例3:
34
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
// 基础3km,10元
// 大于3小于等于10:2*超过km
// 大于10,超过部分*3
// 时间大于等于5,时间数*2元
// input 里程km %f.1 等待时间min
// output money(int)四舍五入
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char const *argv[])
{
double km = 0;
int min = 0;
scanf("%lf %d", &km, &min);
//里程
double monkm = 0;
if (km <= 3)
{
monkm = 10;
}
else if (km <= 10)
{
monkm = 10 + 2 * (km - 3);
}
else
{
monkm = 10 + 2 * (10 - 3) + 3 * (km - 10);
}
//时间
int monmin = 0;
if (min >= 5)
{
monmin = 2 * (1.0 * min / 5); //哦,是全收费
}
//总(四舍五入)
int money = 0;
money = (int)(monkm + monmin + 0.5); //怎么四舍五入??我不道啊
// 我会了!四舍五入可以将浮点数强行加0.5后(int),这样真方便!
printf("%d\n", money);
system("pause");
return 0;
}