工资税 愁
题目:工资纳税系统 个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。个人所得税税率表一(工资、薪金所得适用) 级数----------全月应纳税所得额----------税率(%) 1--------------不超过500元的--------------------------5
2----------超过500元至2000元的部分------------10
3----------超过2000元至5000元的部分----------15
4----------超过5000元至20000元的部分---------20
5----------超过20000元至40000元的部分-------25
6----------超过40000元至60000元的部分-------30
7----------超过60000元至80000元的部分-------35
8----------超过80000元至100000元的部分------40
9----------超过100000元的部分---------------------45
表中的应纳税所得额是指以每月收入额减除1600元后的余额。 例如:计算为:2500-1600=900 应纳个人所得税额=500×5%+400×10% =65 再比如:我们用一个大额工资计算,25000元 应纳税所得额=25000-1600=23400 应纳个人所得税税额=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475 要求:输入工资计算出纳税金额。
我编了如下程序
/* HELLO.C -- Hello, world */
#include "stdio.h"
#include "conio.h"
main()
{
int s;
float t,n;
scanf("%d",&s);
n=s-1600;
if(n<=500&&n>0)
{t=n*0.05;
}
else if (n>=500&&n<2000)
{t=25+(n-500)*0.1;
}
else if(n>=2000&&n<5000)
{t=25+150+(n-2000)*0.15;
}
else if(n>=5000&&n<20000)
{t=25+150+450+(n-5000)*0.2;
}
else if(n>=20000&&n<40000)
{t=25+150+450+3000+(n-20000)*0.25;
}
else if(n>=40000&&n<60000)
{t=25+150+450+3000+5000+(n-40000)*0.3;
}
else if(n>=60000&&n<80000)
{t=25+150+450+3000+5000+6000+(n-60000)*0.35;
}
else if (n>=80000&&n<100000)
{t=25+150+450+3000+5000+6000+7000+(n-80000)*0.4;
}
else {t=t=25+150+450+3000+5000+6000+7000+8000+(n-100000)*0.45;}
printf("%f",t);
getch();
}
运行到35000以上,输出就变为0了
请教一下这个是为啥子呢?
还有如果有更简单的编法,求赐教