-->
当前位置:首页 > 题库 > 正文内容

函数题:个人所得税*

Luz4年前 (2021-05-10)题库1223
个人所得税按月收入扣除起征点后的余额,1500 元以内的部分按 3% 征税;1500 ~ 4500 元的部分按 10% 征税;4500 ~ 9000 元的部分按 20% 征税;9000 ~ 35000 元的部分按 25% 征税;35000 ~ 55000 元的部分按 30% 征税;55000 ~ 80000 元的部分按 35% 征税;80000 元以上的部分按 45% 征税。

#### 函数原型

```c
// 个人所得税
double Tax(double income, double threshold);
```

说明:参数 `income` 为月收入,`threshold` 为起征点,函数值为应缴税金。

假设某程序员月收入扣除保险金、公积金以后为 8917 元。
假设起征点为 3500,则扣除起征点以后的余额 5417 元需要纳税。
其中前 1500 元按 3% 纳税 45 元,
1500 ~ 4500 之间的 3000 元按 10% 纳税 300 元,
4500 ~ 9000 元之间的 917 元按 20% 纳税 183.40 元,
应纳税款合计为

1500 × 3% + 3000 × 10% + 900 × 20% = 0 + 45 + 300 + 183.4 = 528.40(元)

提示:先按各不同层级收入金额对计算公式进行整理化简,再按简化后的公式编写函数。

例如:若余额在 9000 ~ 35000 元之间,则:

> 应缴税 = 1500 × 3% + 3000 × 10% + 4500 × 20% + (余额 - 9000) × 25%

整理化简后得到的公式为:

> 应缴税 = 余额 × 25% - 1005

#### 裁判程序

```c
#include

// 个人所得税
double Tax(double income, double threshold);

int main()
{
double income, threshold, tax;
scanf("%lg%lg", &income, &threshold);
tax = Tax(income, threshold);
printf("%.2f\n", tax);
return 0;
}

/* 你提交的代码将被嵌在这里 */
```

#### 输入格式
> 月收入 起征点

#### 输出格式
> 应缴税

#### 输入样例1
```in
8917 3500
```
#### 输出样例1
```out
528.40
```
#### 输入样例2
```in
22386.57 5000
```
#### 输出样例2
```out
3341.64
```






答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。