假设个人所得税为:税率 × (工资 − 1600)。请编写程序计算应缴的所得税,其中税率定义为:
当工资不超过1600 时,税率为 0;
当工资在区间 (1600, 2500] 时,税率为 5%;
当工资在区间 (2500, 3500] 时,税率为 10%;
当工资在区间 (3500, 4500] 时,税率为 15%;
当工资超过 4500 时,税率为 20%。
输入格式:
输入在一行中给出非负工资。
输出格式:
在一行输出个人所得税,精确到小数点后 2 位。
输入样例1:
1600
输出样例1:
0.00
输入样例2:
1601
输出样例2:
0.05
输入样例3:
3000
输出样例3:
140.00
输入样例4:
4000
输出样例4:
360.00
输入样例5:
5000
输出样例5:
680.00
来源:
来源:PTA | 程序设计类实验辅助教学平台
链接:https://pintia.cn/problem-sets/13/exam/problems/423
提交:
题解:
#include<stdio.h>
#include <math.h>
int main(void) {
double salary;
scanf("%lf", &salary);
double rate = 0;
if (salary > 0 && salary <= 1600) {
rate = 0;
} else if (salary > 1600 && salary <= 2500) {
rate = 0.05;
} else if (salary > 2500 && salary <= 3500) {
rate = 0.1;
} else if (salary > 3500 && salary <= 4500) {
rate = 0.15;
} else if (salary > 4500) {
rate = 0.2;
}
// 计算机中 0*负数 = 负数,如需对浮点数取绝对值则使用 fabs() 函数
printf("%.2f", fabs(rate * (salary - 1600)));
return 0;
}