C语言程序设计(第三版)何钦铭著 习题3-3
题目
出租车计价∶ 某城市普通出租车收费标准如下∶
起步里程为3公里,起步费 10元;
超过起步里程后10公里内,每公里2元;
超过10公里以上的部分加收50%的空驶补贴费,即每公里3元;
营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。
运价计费尾数四舍五入,保留到元。
编写程序,输入行驶里程(公里)与等待时间(分钟),计算并输出乘客应支付的车费(元)。
分析过程
输入
条件:输入行驶里程(公里)与等待时间(分钟)
输出
条件:输出乘客应支付的车费(元)
代码
#include <stdio.h>
int main () {
/*定义变量*/
double driven_distance; /*定义变量,存储输入的行驶里程*/
int waiting_time; /*定义变量,存储输入的等待时间*/
double pay_money=0.0; /*定义变量,存储计算的应支付的车费(元)*/
/*赋值*/
printf("请输入行驶里程以及等待时间:\n"); /*输入提示*/
scanf("%lf %d\n", &driven_distance, &waiting_time); /*输入并赋给变量*/
/*计算*/
double waiting_money = waiting_time/5 *2.0; /*计算等待时间费用*/
if(driven_distance<=3.0) /*行驶里程小于3公里*/
pay_money = 10.0 + waiting_money; /*支付的车费为起步费用+等待费用*/
else {
if(driven_distance<=10.0) /*行驶里程小于10公里*/
pay_money = 10.0 + waiting_money +
(driven_distance - 3.0) * 2.0; /*支付的车费为起步费用+等待费用+超过起步里程的费用(每公里2元)*/
if(driven_distance >10.0) /*行驶里程大于10公里*/
pay_money = 10.0 + waiting_money +
(10.0-3.0)*2.0 + (driven_distance-10.0)*3.0; /*支付的车费为起步费用+等待费用+超过起步里程的费用(每公里2元)+ 空驶补贴费(每公里3元)*/
}
/*输出计算结果*/
printf("所需支付的费用为:%.0lf(元) \n", pay_money);/*输出提示*/
return 0;
}