程序可以编译并通过吗?
至少您的计算公式是错误的。收入按不同级别征税,例如收入1300、800-1200税率是5%,其余100税率是8%。您只计算了100的税。
您的情况不正确
案例0:
容例1:c = 0;打破;
情况2:c =(a-800)* 0.05;打破;
情况3:
情况4:c =(a-1200)* 0.08 + 400 * 0.05;打破;
情况5:c =(a-2000)* 0.2 + 800 * 0.08 + 400 * 0.05;打破;
#包括
无效的main()
{
int n;
浮动a,b;
浮动收益,红利= 0;
scanf(“%f”,&gain);
增益=增益1600;
,如果(gain> = 0 && gain <= 500)n = 5;
否则,如果(收益<= 2000)n = 10;
否则,如果(增益<= 5000)n = 15;
开关(n)
情况5:a = 0; b = 0;打破;
案例10:a = 25; b = 500;打破;
案例15:a = 175; b = 2000;打破;
案例20:a = 625; b = 5000;打破;
}
奖金= a +(增益-b)* n / 100;
printf(“%。2f \ n”,加成);
int main()
内部付款= 1000;
时(pay!= 0)
scanf(“%d”,&pay);
开关((pay)/ 1000)
情况1:
情况2:
案例4:
情况5:
printf(“税为0 \ n”);
休息;
案例6:
案例7:
案例8:
printf(“税为5 \ n”);
案例9:
案例10:
printf(“税是10 \ n”);
案例11:
案例12:
案例13:
案例14:
printf(“税为20 \ n”);
返回0;
可以用其他方式做得更好,但是切换并不方便
主要()
整数a,b,c;
float s;
printf(“请输入a:\ n”);
scanf(“%d”,&a);
b = a-1200;
如果(b> 0 && b <= 500)
c = 1;
如果(b> 500 && b <= 2000)
c = 2;
如果(b> 2000 && b <= 5000)
c = 3;
c = 4;
c = 5;
c = 6;
c = 7;
c = 8;
c = 9;
开关(c)
情况1:s = b * 0.05;打破;
情况2:s = b * 0.10-25;打破;
情况3:s = b * 0.15-125;打破;
情况4:s = b * 0.20-375;打破;
情况5:s = b * 0.25-1375;打破;
情况6:s = b * 0.30-3375;打破;
情况7:s = b * 0.35-6375;打破;
默认值:s = 0;打破;
printf(“ s =%f \ n”,s);
getch();
感谢您的付出