任务和代码:
/*
*Copyright (c)2017,CSDN学院
*All rights reserved.
*文件名称: main.c
*作 者: 伍志鹏
*完成日期: 2017年9月11日
*版本号: v1.0
*
*问题描述:编写选择结构程序,输入个人月收入总额,计算出他本月应缴税款和税后收入(计算办法见附:关于个人所得税的有关背景知识)。
*(1)用switch语句完成;
*(2)可以在下面程序的基本框架基础上完成,如需其他变量自行增加
*
*计算方法:个人所得税=(收入总额-3500)*税率-速算扣除数
*从2011年9月1日起,我国个人所得税起征点基数为3500元,超出部分按以下7级计算。
* 序号 收入范围 税率 速算扣除数
* 1 超过0至1500 3% 0
* 2 超过1500元至4500元的部分 10% 105
* 3 超过4500元至9000元的部分 20% 555
* 4 超过9,000元至35,000元的部分 25% 1005
* 5 超过35,000元至55,000元的部分 30% 2755
* 6 超过55,000元至80,000元的部分 35% 5505
* 7 超过80,000以上 45% 13505
*
* 例如:王某月收入总额3600元,个人所得税=(3600-3500)*3%=3元;
* 再例:李某月收入13500元,个人所得税=(13500-3500)*25%-1005=2500-1005=1495元。
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*
* dSalary:本月的收入
* dTax:个人所得税
* dNetIncome:税后收入
* dCal:总收入-3500
*/
double dSalary,dTax=0,dNetIncome=0,dCal;
int t; //用来左判断
printf("请输入您本月的收入总额(元):");
scanf("%lf",&dSalary);
//下面求解应缴个人所得税dTax和税后收入dNetIncome
if(dSalary<=3500){
printf("恭喜您不用缴税,好好努力工作!");
}else{
dCal=dSalary-3500;
t=(dCal>=1500)+(dCal>=4500)+(dCal>=9000)+(dCal>=35000)+(dCal>=55000)+(dCal>=80000);
switch(t)
{
case 0:
dTax=dCal*0.03;
break;
case 1:
dTax=dCal*0.10-105;
break;
case 2:
dTax=dCal*0.20-555;
break;
case 3:
dTax=dCal*0.25-1005;
break;
case 4:
dTax=dCal*0.30-2755;
break;
case 5:
dTax=dCal*0.35-5505;
break;
case 6:
dTax=dCal*0.45-13505;
break;
}
printf("您本月应缴个人所得税 %.2lf 元,税后收入是 %.2lf 元。\n", dTax, dSalary-dTax);
}
printf("依法纳税,共享繁荣。谢谢使用!");
return 0;
}
运行结果:
总结:
主要还是要能够找到有且唯一识别的条件,才能够将题目更快的做出来。每次做题目的之前先思考有哪些条件是能够使用的。