C言語プログラミング(第3版)彼Qinming演習3-3
トピック
タクシー料金:特定の都市の通常のタクシーの料金基準は次のとおりです。
開始マイレージは3キロメートル、開始料金は10元
、開始マイレージから10キロメートル以内、1キロメートルあたり2元、
50%の空の運転補助金10キロを超える部分は1キロあたり3元の料金がかかります。
運転中に道路が封鎖され、乗客が一時的な駐車を要求した場合、5分あたり2元が課金されます(5分未満は無料) )。
運賃の請求仮数は、最も近い元に丸められます。
プログラムを作成し、走行距離(km)と待ち時間(分)を入力し、乗客が支払う必要のある運賃(元)を計算して出力します。
分析プロセス
入る
条件:走行距離(km)と待ち時間(分)を入力してください
出力
条件:乗客が支払うべき運賃を輸出する(元)
コード
#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;
}