任務和代碼:
/*
*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;
}
運行結果:
總結:
主要還是要能夠找到有且唯一識別的條件,才能夠將題目更快的做出來。每次做題目的之前先思考有哪些條件是能夠使用的。