时间限制:1.0s 内存限制:512.0MB
企业发放的奖金根据利润提成。利润低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万元到60万元之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%;高于100万元时,超过100万元的部分按1%提成。从键盘输入当月利润,求应发放奖金总数?(保留两位小数)利润的大小在double以内
样例输入
210000
样例输出
18000.00
分析:要用数组的思想,这样更方便。注意金额应该从高往低减,比如:21万要先减100万,若减不了,则往下递推减60万元…
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
double a;
cin >> a;
double b = 0;
int s[6] = {1000000, 600000, 400000, 200000, 100000, 0};
double t[6] = {0.01, 0.015, 0.03, 0.05, 0.075, 0.1};
for(int i = 0; i < 6; i++) {
if(a - s[i] >= 0) {
b += (a - s[i]) * t[i];
a = s[i];
}
}
printf("%.2f", b);
return 0;
}