问题及问题要求:


实例代码:
/*
Copyright(c)2018,优快云学院行者-
All rights reserved.
文件名称:main.c
作者:乔帅
完成日期:2018年4月20日
版本号:v1.0
问题描述:个税计算器之码数分离
输入描述:输入一个人的月收入总额
程序操作:计算出需要上交的个人所得税
程序输出:输出需要缴纳税款金额,以及税后收入
*/
#include<stdio.h>
#define BaseSalary 3500
struct TaxNode
{
int payTax;
double rate;
int deducted;
} taxNode[10]=
{
{0,0.03,0},
{1500,0.10,105},
{4500,0.20,555},
{9000,0.25,1005},
{35000,0.30,2755},
{55000,0.35,5505},
{80000,0.45,13505}
};
int main(){
int i;
double money , dTax = 0 , dNetIncome = 0;
double dValue;
printf("请输入个人月收入总额:");
scanf("%lf",&money);
dValue = money - BaseSalary;
if(dValue < 0){
dTax = 0.0;
}else{
for(i = 6 ; i >= 0 ; i--){
if(dValue > taxNode[i].payTax){
dTax = dValue * taxNode[i].rate - taxNode[i].deducted;
break;
}
}
}
dNetIncome = money - dTax;
printf("您本月应缴纳个人所得税:%.2lf元 , 税后收入为:%.2lf\n",dTax,dNetIncome);
printf("依法纳税,共享繁荣。谢谢使用!\n");
return 0;
}
运行演示:
