个人所得税背景知识
程序代码
#include <stdio.h>
#include <stdlib.h>
/*
*csdn学院——2016级
*文件名称:Myfun33.c
*作者:小臣小仁
*完成日期:2016年11月17日
*问题描述:*问题描述:编写选择结构程序,
*输入个人月收入总额,计算出他本月应缴税款和税后收入
*(计算办法见附:关于个人所得税的有关背景知识)。
(1)用switch语句完成;
(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加。
*/
int main()
{
float fTotal,fIncome,fDiff,fStart=3500;
int t,num;
scanf("%f",&fTotal);
fDiff=fTotal-fStart;
t=(fDiff<=1500)+(fDiff<=4500)+(fDiff<=9000)+(fDiff<=35000)+(fDiff<=55000)+(fDiff<=80000);
num=(fDiff<0)?(7):t;
switch (num)
{
case 7:fIncome=0;break;
case 6:fIncome=fDiff*0.03;break;
case 5:fIncome=fDiff*0.1-105;break;
case 4:fIncome=fDiff*0.2-555;break;
case 3:fIncome=fDiff*0.25-1005;break;
case 2:fIncome=fDiff*0.3-2755;break;
case 1:fIncome=fDiff*0.35-5505;break;
case 0:fIncome=fDiff*0.45-13505;break;
}
printf("需要缴税的金额为:%f\n税后金额为:%f",fIncome,fTotal-fIncome);
return 0;
}
输出结果
知识点总结:
运用“ t=(fDiff<=1500)+(fDiff<=4500)+(fDiff<=9000)+(fDiff<=35000)+(fDiff<=55000)+(fDiff<=80000);”语句来判断应该执行那一条语句。
心得体会:
当我们用switch语句时候,如果输入的常量表达式过多,应该用一些方法避免。