c语言switch求税收,我是初学者,请问哪里有错,一定要用switch语句
发布网友
发布时间:2022-05-31 22:37
我来回答
共3个回答
热心网友
时间:2023-11-02 05:41
#include<stdio.h>
void main()
{
float s,tax,p;
int a;
printf("Please enter s(工资额):");
scanf("%f",&s);
if(s<1000)
{
a=1;
}
else if(1000<=s&&s<2000)
{
a=2;
}
else if(2000<=s&&s<5000)
{
a=3;
}
else if(5000<=s&&s<8000)
{
a=4;
}
else
{
a=5;
}
switch(a)
{
case 1:
p=0.00;
break;
case 2:
p=0.05;
break;
case 3:
p=0.08;
break;
case 4:
p=0.15;
break;
case 5:
p=0.20;
break;
}
tax=s*p;
s=s*(1-p);
printf("纳税款: %5.0f\n",tax);
printf("实得工资数: %5.0f\n",s);
}
热心网友
时间:2023-11-02 05:41
case 里面只能用常量或常量表达式,不能用你那些玩意
这么用
switch(s/1000)
case 1:
case 2:
case 3:...
热心网友
时间:2023-11-02 05:41
case...:{p=...;break;}case...;不过不知道把那个表达式的结果作为布尔值作为case的条件不知道可以不,用个简单的程序测试下