#include <stdio.h>
int main ()
{
float sum=0
int a[12],I,m
for (m=0m<12m++)
{ scanf ("%d",&a[m])//新位置
if(a[m] <=100000)
I=a[m]*0.1
else if(a[m] <=200000)
I=10000+(a[m]-100000)*0.075
else if(a[m] <=400000)
I=17500+(a[m]-200000)*0.05
else if(a[m]<=600000)
I=27500+(a[m]-400000)*0.03
else if(a[m] <=1000000)
I=33500+(a[m]-600000)*0.015
else
I=39500+(a[m]-1000000)*0.01
sum=sum+I}//新位置
printf ("%d\n",sum)
return 0
}
你看我的理解对不。如果有问题,HI我。/*表达的有点不清楚,如果x是20000,按10%算还是按20%算*/
#include<stdio.h>
int main(void)
{
double tax=0,money,m
int c
printf("请输入全年应纳所得额数目:\n")
scanf("%lf",&money)
m=money
if(money/10000>8)
c=8
else
c=(int)money/10000
switch(c)//找到一个入口,顺次相加各个级应纳税额。
{
case 8:tax+=(money-80000)*0.35money=80000
case 7:
case 6:
case 5:
case 4:tax+=(money-40000)*0.30money=40000
case 3:
case 2:tax+=(money-20000)*0.20money=20000
case 1:tax+=(money-10000)*0.10money=10000
case 0:tax+=money*0.05break
default:printf("Data Error!\n")
}
printf("应纳税额:%.2f\n",tax)
printf("最终所得:%.2f\n",m-tax)
return 0
}
为了便于你验证程序执行结果:下面的可以多次执行,直到你输入的money不大于0.
#include<stdio.h>
int main(void)
{
while(1)
{
double tax=0,money,m
int c
printf("请输入全年应纳所得额数目:\n")
scanf("%lf",&money)
if(money<=0)
break
m=money
if(money/10000>8)
c=8
else
c=(int)money/10000
switch(c)//找到一个入口,顺次相加各个级应纳税额。
{
case 8:tax+=(money-80000)*0.35money=80000
case 7:
case 6:
case 5:
case 4:tax+=(money-40000)*0.30money=40000
case 3:
case 2:tax+=(money-20000)*0.20money=20000
case 1:tax+=(money-10000)*0.10money=10000
case 0:tax+=money*0.05break
default:printf("Data Error!\n")
}
printf("应纳税额:%.2f\n",tax)
printf("最终所得:%.2f\n",m-tax)
}
return 0
}