运用逻辑运算,不用if_else_if

级数 全月应纳税所得额 税率 % 速算扣除法
1 不超过 3000元的 3 0
2 超过3000元至 12000 元 10 210
3超过12000 元至25000元 20 1410
4 超过25000元至 35000元 25 2660
5超过 35000 元至 55000 元 30 4410
6超过 55000 元至 80000 元 35 7160
7超过 80000 元 45 15160

你可以用switch(op) case 1,2 3 4 5 6

img


改一下就差不多了

直接上基础代码如下

int 输入一个工资(int 工资)
{
    float 税率[7] = { 0.3,0.10,0.20,0.25,0.30,0.35,0.45 };//税率自己定义,我随便写了
    bool 工资范围[7] = { 0 };
    工资范围[0] = 工资 < 3000;//工资范围第1部分
    工资范围[1] = 工资 > 3000 && 工资 <= 12000; //第2部分
    工资范围[2] = 工资 > 12000 && 工资 <= 25000; //第3部分
    工资范围[3] = 工资 > 25000 && 工资 <= 35000; //第4部分
    工资范围[4] = 工资 > 35000 && 工资 <= 55000; //第5部分
    工资范围[5] = 工资 > 55000 && 工资 <= 80000; //第6部分
    工资范围[6] = 工资 > 80000; //第7部分
    int i = 0;
    for (i = 1; i < 7 && 工资范围[i-1] != true; i++) {}
    std::cout << "工资范围在第" << i << "部分!" << std::endl;
    //直接进行你的税率结果计算然后返回
    int 应缴纳税 = 工资 * 税率[i-1];
    return 应缴纳税;
}

int main()
{
    int 应缴纳税 = 0;

    应缴纳税 = 输入一个工资(40000);

    std::cout << "应缴纳税:" << 应缴纳税 << std::endl;

    std::cin.get();
    //system("pause");
    return 0;
}

执行结果:

img