本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为3公里,起步费10元;
- 超起步里程后10公里内,每公里2元;
- 超过10公里以上的部分加收50%的回空补贴费,即每公里3元;
- 营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
输入格式:
输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。
输出格式:
在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。
输入样例1:
2.6 2
输出样例1:
10
输入样例2:
5.1 4
输出样例2:
14
题目分析
根据公里数计算车费,要考虑数据结构类型,根据题目设输入的公里数为浮点型,时间为整形,车费因要四舍五入所以为整形。
题目中车费为三个区间,所以可以用if else嵌套结构,再根据数学列出计算公式即可。
最后输出要求四舍五入,但printf函数不会进位,在没有进位的情况下,是可以四舍五入的,否则不行,但我们可以在最后进行一个(int)(q + 0.5)操作即可。
代码
#include<stdio.h>
int main()
{
float k;//公里数
int a;//等待时间
float q;//车费
scanf("%f %d", &k, &a);
if (k <= 3)
{
q = 10;
}
else if (k> 3 && k <= 10)
{
q = 10 + 2 * (k - 3);
}
else
q=10 + 2 * 7 + 3 * (k - 10);
q= q + 2 * (a / 5);
q = (int)(q + 0.5);
printf("%.0f", q);
return 0;
}