第26讲项目5-个人所得税计算器switch语句版

任务和代码:

/*
*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;
}

运行结果:


总结:

主要还是要能够找到有且唯一识别的条件,才能够将题目更快的做出来。每次做题目的之前先思考有哪些条件是能够使用的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章