发放奖金 (Standard IO)
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
题目:企业发放的奖金根据利润分段计算提成。当利润I低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万的,低于20万的部分仍按上述办法提成(下同)。高于20万元的部分按5%提成;40万到60万时,高于40万的部分按3%提成;60万到100万时,高于60万的部分按1.5%提成;I>=100万元时,超过100万元的部分按1%提成。输入当月利润I,求应发奖金总数(单位为元)?(输出保留小数点后三位)
输入
输入实数I,表示利润。
输出
输出奖金数,答案保留三位小数。
样例输入
100000
样例输出
10000.000
#include <iostream>
#include <iomanip> // 保留小数位所需头文件
using namespace std;
int main()
{
double p, b; // profit:利润 bonus:奖金
cin >> p;
double b1, b2, b3, b4, b5;
b1 = 100000 * 0.1;
b2 = b1 + 100000 * 0.075;
b3 = b2 + 200000 * 0.05;
b4 = b3 + 200000 * 0.03;
b5 = b4 + 400000 * 0.015;
if (p <= 100000)
b = p * 0.01;
else if (p < 200000)
b = b1 + (p - 100000) * 0.075;
else if (p < 400000)
b = b2 + (p - 200000) * 0.05;
else if (p < 600000)
b = b3 + (p - 400000) * 0.03;
else if (p < 1000000)
b = b4 + (p - 600000) * 0.015;
else
b = b5 + (p - 1000000) * 0.01;
cout << fixed << setprecision(3) << b << endl; // 保留三位小数
return 0;
}