题目
![](https://i-blog.csdnimg.cn/blog_migrate/52793015cb3afbd5425413665b477b47.png)
![](https://i-blog.csdnimg.cn/blog_migrate/35ccf4dbb303bd4f41179181c8cca1ea.png)
思路
需要计算出每个不同部分所获得的税和税前工资分界点,然后可进一步根据题目要求计算出税前工资。
代码
#include<bits/stdc++.h>
using namespace std;
//税:45 300 900 6500 6000 8750
//S:5000 8000 12500 38500 58500 83500
//T:4955 7700 11600 32000
int main(){
int S,T;
cin>>T;
if(T<=3500){
S=T;
}
else if(T>3500&&T<=4955){
S=3500+(T-3500)/0.97;
}
else if(T>4955&&T<=7700){
S=5000+(T+45-5000)/0.9;
}
else if(T>7700&&T<=11600){
S=8000+(T+45+300-8000)/0.8;
}
else if(T+45+300+900+6500<=38500){
S=12500+(T+45+300+900-12500)/0.75;
}
else if(T+45+300+900+6500+6000<=58500){
S=38500+(T+45+300+900+6500-38500)/0.7;
}
else if(T+45+300+900+6500+6000+8750<=83500){
S=58500+(T+45+300+900+6500+6000-58500)/0.65;
}
else {
S=83500+(T+45+300+900+6500+6000+8750-83500)/0.55;
}
cout<<S<<endl;
}
![](https://i-blog.csdnimg.cn/blog_migrate/eb509970fc07fe9d3d6e042e697ad9d4.png)