结构推理 编程计算个人所得税。个人所得税率表如下:月收入1200元起征,超过起征点500元以内部分税率5/%,超过500元到2,000元部分税率10/%,超过2,000元到5,000元部分税率15/%,超过5,000元到20,000元部分税率20/%,超过20,000元到40,000元部分税率25/%,超过40,000元到60,000元部分税率30/%,超过60,000元到80,000元部分税率35/%,超过80,000元到100,000元部分税率40/%,超过100,000元部分税率45/%。
【正确答案】解:应该从最高税率段开始计算,分段叠加。先算两万元以上各段,每两万为一档,采用switch语句,注意没有使用break语句。后面各低收入段,用if语句,也没有使用else,这两种方法是对应的。第二要注意计算的入口处,收入减去该段的下限,进行计算,以后各段都是完整的段,计算十分简单。 #include using namespace std; int main(){ double income,tax=0; int k; cout<<"请输入个人月收入:"<>income; if(income<=1200){ cout<<"免征个人所得税"<20000){ k=income/20000; switch(k){ default: tax+=(income-100000)*0.45;income=100000; case 4: tax+=(income-80000)*0.40;income=80000; case 3: tax+=(income-60000)*0.35;income=60000; case 2: tax+=(income-40000)*0.30;income=40000; case 1: tax+=(income-20000)*0.25;income=20000; } } if(income>5000){ tax+=(income-5000)*0.20; income=5000; } if(income>2000){ tax+=(income-2000)*0.15; income=2000; } if(income>500){ tax+=(income-500)*0.10; income=500; } tax+=income*0.05; cout<<"应征所得税:"<
【答案解析】