当前位置:C++技术网 > 精选软件 > C++ Primer Plus 6th 6.11 编程练习题 第5题 个人所得税计算

C++ Primer Plus 6th 6.11 编程练习题 第5题 个人所得税计算

更新时间:2019-05-11 13:27:17浏览次数:1+次

题目:
5.在Neutronia王国,货币单位是tvarp,收入所得税的计算方式如下:
  5000 tvarps:不收税
  5001 ~ 15000 tvarps:   10%
  15001 ~ 35000 tvarps:   15%
  35000 tvarps以上:20%
  例如,收入为38000 tvarps时,所得税为5000×0.00+ 10000 x 0.10+ 20000×0.15+ 3000×0.20,即4600 tvarps。请编写一个程序,使用循环来要求用户输入收入,并报告所得税。当用户输入负数或非数字时,循环将结束。

答案:  书上无答案。

C++技术网辅导详解解答:
    参考代码:

#include <iostream>
using namespace std;
int main()
{
    double wage,up;
    cout << "请输入您的收入:";
    while (cin>> wage && wage>=0)
    {
        if (wage > 35000) 
        {
            up = (wage - 35000)*0.2 + 20000 * 0.15 + 10000 * 0.1;
        }
        else if (wage <= 35000 && wage > 15000)
        {
            up = (wage-15000) * 0.15 + 10000 * 0.1;
        }
        else if (wage <= 15000 && wage > 5000)
        {
            up = (wage - 5000) * 0.1;
        }
        else
        {
            up = 0;
        }
        cout << "您的所得税为:" << up << endl;;

        cout << "请输入您的收入:";
    }
    return 0;
}

    税收的计算方法是:分段计算税收,这里是四个段,5000及以下、+10000、+20000、以上的部分

    所以我们可以从大到小来算,35000是一个界限,以上的数值用20%来计算,然后往下算20000,再往下算10000,再往下就是5000。