求大神帮忙检查一下是哪里出错了,,,运行所有边界条件都可以得出正确结果。提交就是只得80分。
#include <bits/stdc++.h>
using namespace std;
//A的范围 S范围 利率 最多交税 税后计算
//0 <=3500 0 0 S=T
//0<A<1500 <=5000 3% 45 S-(S-3500)*3%=T T=0.97*S+105
//1500<A<4500 <=9000 10% 300 S-(S-3500-1500)*10%-45=T T=0.9S+455
//4500<A<9000 <=12500 20% 900 S-(S-3500-4500)*20%-345=T T=0.8S+1255
//9000<A<35000 <=38500 25% 6500 S-(S-3500-9000)*25%-1245=T T=0.75S+1880
//35000<A<55000 <=58500 30% 6000 S-(S-3500-35000)*30%-7745=T T=0.7S+3805
//55000<A<80000 <=83500 35% 8750 S-(S-3500-55000)*35%-13745=T T=0.65S+6730
//A>80000 >83500 45% (S-T-3500-80000)*45% S-(S-3500-80000)*45%-22495=T T=0.55S+15080
//{1500,4500,9000,35000,55000,80000};//A取各阶段值
//{1455,4155,7755,27255,41255,57505};//对应A税后的钱数
//由S范围可得税后T范围0 4955 7655 11255 30755 44755 61005
int main(){
int T; //T税后 S税前
scanf("%d",&T);
if(T<=3500) S=T;
else if(T>3500&&T<=4955) S=(T-105)/0.97; //S-(S-3500)*3%=T
else if(T>4955&&T<=7655) S=(T-455)/0.90; //S-(S-3500-1500)*10%-45=T
else if(T>7655&&T<=11255)S=(T-1255)/0.8; //S-(S-3500-4500)*20%-345=T
else if(T>11255&&T<=30755) S=(T-1880)/0.75; //S-(S-3500-9000)*25%-1245=T
else if(T>30755&&T<=44755) S=(T-3805)/0.7; //S-(S-3500-35000)*30%-7745=T
else if(T>44755&&T<=61005) S=(T-6730)/0.65; //S-(S-3500-55000)*35%-13745=T
else S=(T-15080)/0.55; //S-(S-3500-80000)*45%-22495=T
printf("%d",S);
return 0;
}
求大神指点