来源
教材5.4小节【练习5-9】。
问题描述
假设某地区个人所得税的缴纳方式如下:
月总收入在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 (元)
编写C语言程序,从键盘读入应缴的个人所得税,然后计算月总收入。
输入格式
一共1行数据,包含一个浮点数n。
输出格式
输出1行,包含对应的月总收入,保留到小数点后2位。行末没有换行符。
数据规模与约定
n的值约定为 0 < n ≤ 10 000 000。
输入样例
705.00
输出样例
7000.00
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
满分回答
#include<stdio.h>
int main(){
double total_s;
double tax_s;
double tax;
scanf("%lf",&tax);
if(tax<0){
return 1;
}
if(tax>1625){
tax_s=(tax-1625)/0.3+10000;
}else if(tax>625){
tax_s=(tax-625)/0.2+5000;
}else if(tax>175){
tax_s=(tax-175)/0.15+2000;
}else if(tax>25){
tax_s=(tax-25)/0.1+500;
}else if(tax>0){
tax_s=tax/0.05;
}
total_s=tax_s+1600;
if(tax==0){
printf("收入不超过1600元");
}else{
printf("%.2f",total_s);
}
return 0;
}