zl程序教程

您现在的位置是:首页 >  其它

当前栏目

672. 税

2023-09-14 09:01:25 时间

文章目录

Question

读取一个保留两位小数的浮点数值,表示一个公民的工资。

在公民缴纳个人所得税时,不同收入部分需要缴税的税率也是不同的。

请根据下表确定该公民需要缴纳的个人所得税是多少。

在这里插入图片描述

输入格式
共一行,包含一个浮点数。

输出格式
如果公民需要缴税,则输出所需缴纳的税额。输出格式为 R$ X,其中 X 为个税的金额,保留两位小数。

如果公民不需要缴税,则输出 Isento。

数据范围
0≤公民工资≤5000
输入样例1:
3002.00
输出样例1:
R$ 80.36
输入样例2:
1700.00
输出样例2:
Isento
输入样例3:
4520.00
输出样例3:
R$ 355.60
样例解释
对于样例 1,0∼2000.00 部分不用缴税,2000.01∼3000.00 部分按 8% 的税率缴税,共计 1000×8%=80,3000.01∼3002.00 部分按 18% 的税率缴税,共计 2×18%=0.36,合计 80.36。

对于样例 2,公民收入未超过 2000,所以输出 Isento。

对于样例 3,0∼2000.00 部分不用缴税,2000.01∼3000.00 部分按 8% 的税率缴税,共计 1000×8%=80,3000.01∼4500.00 部分按 18% 的税率缴税,共计 1500×18%=270,4500.01∼4520 部分按 28% 的税率缴税,共计 20×28%=5.60,合计 355.60。

Ideas

Code

#include <iostream>
#include <cstdio>

using namespace std;

int main()
{
    float salary;
    cin >> salary;
    
    
    if (salary <= 2000) 
        printf("Isento");
    else if (salary > 2000 && salary <= 3000) 
    {
        printf("R$ %.2f",(salary - 2000) * 0.08);
    }
    else if (salary > 3000 && salary <= 4500)
    {
        printf("R$ %.2f", 1000 * 0.08 + (salary - 3000) * 0.18);
    }
    else
    {
        printf("R$ %.2f", 1000 * 0.08 + 1500 * 0.18 + (salary - 4500)*0.28);
    }
    
    return 0;
}