实例四:switch分支选择——实现阶梯式计算
问题描述:
假设公民交纳个人所得税的税率如下(a 代表个人收入,r 代表税率)
r = 0 (a < 2000元)
r = 5% (2000元 <= a < 3000元)
r = 10% (3000元 <= a < 4000元)
r = 15% (4000元 <= a < 5000元)
r = 20% (5000元 <= a)
编写程序,要求从键盘上输入个人收入,根据以上税率计算出相应的税金并输出。
#include<stdio.h>
int main(void)
{
float a,b;
int i;
printf("输入某人收入:");
scanf("%f",&a);
if(a>=5000)
i = 5;
else
i = a / 1000;
switch(i)
{
case 0:
case 1:b = 0;break;
case 2:b = 0.05 * (a-2000);break;
case 3:b = 50 + 0.1 * (a-3000);break;
case 4:b = 150 + 0.15 * (a-4000);break;
case 5:b = 300 + 0.2 * (a-5000);break;
}
printf("此人应付的税金为:%.3f",b);
return 0;
}
心得:
- 计算税率最好用的就是switch语句多分支选择结构
拓展:
- switch语句多分支选择结构 用于多条件 多语句 多运算 程序。