1-6 实验2.24
编写程序计算税率。美国国家联邦个人所得税是基于纳税人登记的身份和可征税收入计算的。纳税人登记的身份有四种:单身纳税人、已婚共同纳税人、已婚单独纳税人和家庭户主纳税人。税率会随年变化。下表给出2009年的税率。即如果你是单独纳税人,可征税收入为10000美元,那么可征税收入的前8350美元的税率为10%,而剩下的1650美元的税率为15%。所以,你该付的税金为1082.5美元。精确到小数点后六位,提示:0表示单身纳税人,1表示已婚共同纳税人,2表示已婚单独纳税人,3表示家庭户主纳税人。(20分)
输入格式:
在一行中输入纳税人登记身份和可征税收入。
输出格式:
对每一组输入,在一行中输出对应身份和可征税收入所付的税金数。
输入样例:
在这里给出一组输入。例如:
0 8300
输出样例:
在这里给出相应的输出。例如:
830.000000
#include<stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
double x;
if(a==0)
{
if(0<=b&&b<=8350)
x=b*0.1;
else if(8351<=b&&b<=33950)
x=8350*0.1+0.15*(b-8350);
else if(33951<=b&&b<=52250)
x=8350*0.1+0.15*(33950-8350)+0.25*(b-33950);
else if(52251<=b&&b<=171550)
x=8350*0.1+0.15*(33950-8350)+0.25*(52250-33950)+0.28*(b-52250);
else if(171551<=b&&b<=372950)
x=8350*0.1+0.15*(33950-8350)+0.25*(52250-33950)+0.28*(171550-52250)+0.33*(b-171550);
else if(b>=372951)
x=8530*0.1+0.15*(33950-8350)+0.25*(52250-33950)+0.28*(171550-52250)+0.33*(372950-171550)+0.35*(b-372950);
printf("%.6lf",x);
}
if(a==1)
{
if(0<=b&&b<=16700)
x=b*0.1;
else if(16701<=b&&b<=67900)
x=16700*0.1+0.15*(b-16700);
else if(67901<=b&&b<=137050)
x=16700*0.1+0.15*(67900-16700)+0.25*(b-67900);
else if(137051<=b&&b<=208850)
x=16700*0.1+0.15*(67900-16700)+0.25*(137050-67900)+0.28*(b-137050);
else if(208851<=b&&b<=372950)
x=16700*0.1+0.15*(67900-16700)+0.25*(137050-67900)+0.28*(208850-137050)+0.33*(b-208850);
else if(b>=372951)
x=16700*0.1+0.15*(67900-16700)+0.25*(137050-67900)+0.28*(208850-137050)+0.33*(372950-208850)+0.35*(b-372950);
printf("%.6lf",x);
}
if(a==2)
{
if(0<=b&&b<=8350)
x=b*0.1;
else if(8351<=b&&b<=33950)
x=8350*0.1+0.15*(b-8350);
else if(33951<=b&&b<=68525)
x=8350*0.1+0.15*(33950-8350)+0.25*(b-33950);
else if(68526<=b&&b<=104425)
x=8350*0.1+0.15*(33950-8350)+0.25*(68525-33950)+0.28*(b-68525);
else if(104426<=b&&b<=186475)
x=8350*0.1+0.15*(33950-8350)+0.25*(68525-33950)+0.28*(104425-68525)+0.33*(b-104425);
else if(b>=186476)
x=8350*0.1+0.15*(33950-8350)+0.25*(68525-33950)+0.28*(104425-68525)+0.33*(186475-104425)+0.35*(b-186475);
printf("%.6lf",x);
}
if(a==3)
{
if(0<=b&&b<=11950)
x=0.1*b;
else if(11950<b&&b<=45500)
x=11950*0.1+(b-11950)*0.15;
else if(45500<b&&b<=117450)
x=11950*0.1+(45500-11950)*0.15+(b-45500)*0.25;
else if(117450<b&&b<=190200)
x=11950*0.1+(45500-11950)*0.1+(117450-45500)*0.25+(b-117450)*0.28;
else if(190200<b&&b<=372950)
x=11950*0.1+(45500-11950)*0.1+(117450-45500)*0.25+(190200-117450)*0.28+(b-190200)*0.33;
else if(b>372950)
x=11950*0.1+(45500-11950)*0.1+(117450-45500)*0.25+(190200-117450)*0.28+(372950-190200)*0.33+(b-372950)*0.35;
printf("%.6lf",x);
}
if(a<0||a>3)
printf("输入身份有误");
return 0;
}