请编写C程序计算应缴的个人所得税
其中税率定义为:
当工资不超过5000时,税率为0;
当工资在区间(5000, 8000]时,超过5000部分,税率为3%;
当工资在区间(8000, 12000]时,超过8000部分,税率为10%;
当工资在区间(12000, 25000]时,超过12000部分,税率为20%;
当工资超过25000时,超过25000部分,税率为25%。
例如:假设某程序员月收入扣除保险金、公积金以后为 12900 元。起征点为 5000,则扣除起征点以后的余额 7900 元需要纳税。 其中前 3000 元按 3% 纳税 90 元, 3000 ~ 7000 之间的 4000 元按 10% 纳税 400 元, 7000 ~ 2000 元之间的 900 元按 20% 纳税 180 元, 个人所得税款合计为 3000 × 3% + 4000 × 10% + 900 × 20% = 90+ 400 + 180 = 670(元)
#include<stdio.h>
float pTax(int w){//w是工资
float ptaxmoney;//个人所得税
float tax[5]={0.0,0.03,0.1,0.2,0.25};//个人所得税率
if(w<=5000){
ptaxmoney=w*tax[0];
}
if(w>5000&&w<=8000){
ptaxmoney=(w-5000)*tax[1];
}
if(w>8000&&w<=12000){
ptaxmoney=(8000-5000)*tax[1]+(w-8000)*tax[2];
}
if(w>12000&&w<=25000){
ptaxmoney=(8000-5000)*tax[1]+(12000-8000)*tax[2]+(w-12000)*tax[3];
}
if(w>25000){
ptaxmoney=(8000-5000)*tax[1]+(12000-8000)*tax[2]+(25000-12000)*tax[3]+(w-25000)*tax[4];
}
return ptaxmoney;
}
int main(void){
int wage;
double tax;
scanf("%d",&wage);//输入一个非负工资
while(wage<0){
printf("请输入一个非负工资\n:");
scanf("%d",&wage);
}
printf("%.2f",pTax(wage));
}