[C++]蓝桥杯 ADV-68. 企业奖金发放

时间限制: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;
}
发布了87 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43356428/article/details/104897746
今日推荐