Switch相关问题55444866654158841188
运行结果:
代码:
#include <stdio.h>
int main()
{
double a, r, s;
int n;
printf("请输入奖金数:");
scanf("%lf", &a);
n = a / 500;
switch (n)
{
case 0:
r = 0;
printf("税率:0%%");
break;
case 1:
r = 0.05;
printf("税率:5%%");
break;
case 2:
case 3:
r = 0.08;
printf("税率:8%%");
break;
case 4:
case 5:
r = 0.1;
printf("税率:10%%");
break;
case 6:
r = 0.15;
printf("税率:15%%");
break;
default:
r = 0.15;
printf("税率:15%%");
break;
}
printf("\n应交税款:%g\n", a * r);
printf("实得奖金:%g\n", a - a * r);
return 0;
}
将a的值除500来进行判断。
#include<stdio.h>
int main(){
int a,r;
float tax;
printf("输入奖金数:");
scanf("%d",&a);
switch(a/500){
case 0:
r = 0;
break;
case 1:
r = 5;
break;
case 2:
case 3:
r = 8;
break;
case 4:
case 5:
r = 10;
break;
default:
r = 15;
break;
}
tax = a * r /100.0;
printf("税率:%d,应交税款:%.2f,实得奖金数:%.2f\n",r,tax,a-tax);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!【以下回答由 GPT 生成】
#include <stdio.h>
int main() {
int a;
float r, t, b;
printf("请输入a的值:");
scanf("%d", &a);
switch (a / 500) {
case 0: // 0 <= a < 500
r = 0.0;
t = 0.0;
b = a;
break;
case 1: // 500 <= a < 1000
r = 0.05;
t = 0.05 * (a - 500);
b = a - t;
break;
case 2: // 1000 <= a < 2000
r = 0.08;
t = 0.08 * (a - 1000);
b = a - t;
break;
case 4: // 2000 <= a < 3000
r = 0.10;
t = 0.10 * (a - 2000);
b = a - t;
break;
default: // a >= 3000
r = 0.15;
t = 0.15 * (a - 3000);
b = a - t;
break;
}
printf("税率:%.2f%%\n", r * 100);
printf("税款:%.2f\n", t);
printf("实得奖金数:%.2f\n", b);
return 0;
}
在使用switch语句实现上述需求时,需要注意以下几点:
希望以上代码和解释能帮助到您!如有疑问,请及时指出。
【相关推荐】