合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
习题3-3 出租车计价
本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:
- 起步里程为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
二、代码(C语言)⭐️
#include <stdio.h> // 包含标准输入输出库,用于使用scanf和printf等函数int main() {double distance = 0.0; // 定义一个浮点数变量distance,用于存储行驶距离,初始值为0.0int time = 0; // 定义一个整数变量time,用于存储等待时间,初始值为0double fee = 10.0; // 定义一个浮点数变量fee,用于存储总费用,初始值为10.0(起步价)// 从用户输入中读取两个值,分别赋值给distance和timescanf("%lf %d", &distance, &time);// 根据行驶距离计算费用if (distance > 3 && distance <= 10) {// 如果距离大于3公里且小于等于10公里,超出3公里的部分按每公里2元收费fee += (distance - 3) * 2.0;} else if (distance > 10) {// 如果距离大于10公里,3-10公里的部分按每公里2元收费,超出10公里的部分按每公里3元收费fee += ((10 - 3) * 2.0 + (distance - 10) * 3.0);}// 根据等待时间计算费用,每等待5分钟加收2元fee += ((time / 5) * 2.0);// 输出总费用,四舍五入到整数printf("%.0f", fee);return 0; // 程序正常结束
}
【补充 ❀】整数除法 和 浮点数除法 的区别,请查看我的另一篇文章。