题目:
一个停车场的标准收费是 3 小时之内收 5 元,超过 3 小时,每增加 1 小时加收 2 元;如果时间不是整数,按比例收取。例如:如果输入为 3.6 小时,则 费用为 5+(3.6-3)*2=6.2 元。最高收费为 40 元。假设任何车辆的停车时间都不 超过 24 小时。编写程序,计算每辆车的提车费。
(提示:要输出浮点数、双精度数小数点后 2 位数字,可以用下面这种两种方法之一: (1)cout<<fixed<<setprecision(2)<<cost<。 (2)使用C++ 11标准中的round函数,例如value = round(value * 100.0) / 100.0; )
输入描述: 输入停车时间 t:
输出描述: 输出应该收取的停车费用 cost,保留小数点后 2 位
输入样例: 3.46
输出样例: 5.92
代码展示:
#include<iostream>
using namespace std;
#include<iomanip>
int main() {
double t, cost;
cin >> t;
if (t <= 20.5) //20.5就是40块时的最低小时,超过这个时间点都是40块,在这里开始进行一个分支
if (t <= 3) //这里再来一个分支,区分是否为5块
cost = 5;
else
cost = 5 + (t - 3) * 2;
else
cost = 40;
cout << fixed << setprecision(2) << cost << endl; //这里进行保留两位小数的操作(题目中有提示)
return 0;
}
运行效果图: