题目:
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。