问题描述
假设某地区个人所得税的缴纳方式如下:
月总收入在1600元以下(含1600元)不需要缴纳个人所得税。月总收入在1600元以上,那么需要缴税的部分为:月总收入-1600,简称“应税收入”,且分级逐级计算:
- 应税收入在500元内(含500元)的部分,税率为5%;
- 应税收入在500元~2000元内(含2000元)的部分,税率为10%;
- 应税收入2000元~5000元内(含5000元)的部分,税率为15%;
- 应税收入5000元~10000元内(含10000元)的部分,税率为20%;
- 应税收入在10000元以上的部分,税率为30%。
例如,某职工的当月的总收入为7000元,那么他应缴的个人所得税计算如下:
(1) 应税收入 = 月总收入 - 1600 = 7000 - 1600 = 5400 (元)
(2) 500元内的所得税 = 500 * 5% = 25 (元)
(3) 500元~2000元内的所得税 = (2000 - 500) * 10% = 150 (元)
(4) 2000元~5000元内的所得税 = (5000 - 2000) * 15% = 450 (元)
(5) 5000元~10000元内的所得税 = (5400 - 5000) * 20% = 80 (元)
(6) 应缴纳的个人所得税共计 = 25 + 150 + 450 + 80 = 705 (元)
编写程序,从键盘读入月总收入,然后计算应缴的个人所得税。
输入格式
一共1行数据,包含一个整数n。
输出格式
输出1行,包含对应的所得税金额,保留到小数点后2位。行末没有换行符。
数据规模与约定
整数n的值约定为 0 ≤ n ≤ 10 000 000。
样例输入
7000
样例输出
705.00
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
满分回答
#include<stdio.h>
int main()
{
long long n;//月总收入
double a;
scanf("%lld",&n);
if(n>1600){
n=n-1600;
if(n<=500){
a=n*0.05;
}else if(n>500&&n<=2000){
a=(n-500)*0.1+25;
}else if(n>2000&&n<=5000){
a=(n-2000)*0.15+25+150;
}else if(n>5000&&n<=10000){
a=(n-5000)*0.2+25+150+450;
}else if(n>10000){
a=(n-10000)*0.3+25+150+450+1000;
}
}else{
a=0;
}
printf("%.2f",a);
return 0;
}