题目描述
读取一个保留两位小数的浮点数值,表示一个公民的工资。
在公民缴纳个人所得税时,不同收入部分需要缴税的税率也是不同的。
请根据下表确定该公民需要缴纳的个人所得税是多少。
C++ 代码
#include<iostream>
#include<iomanip>
using namespace std;
int main ()
{
double x,a[]={0.28,0.18,0.08,0},b[]={4500,3000,2000},c=0;
cin>>x;
if(x<=2000)
cout<<"Isento";
else
{
for(int i=0;i<3;i++)
if(x-b[i]>0)
{
c+=(x-b[i])*a[i];
x=b[i];
}
cout<<fixed<<setprecision(2)<<"R$ "<<c;;
}
return 0;
}
看见大多数都用if直接算,我这给一种别的算法吧,:-)