个人所得税问题

 

分析:设计一个结构体,;里面陈放结构体的征税起点,征税终点,征税率。定义一个结构体数组,将各个范围的征税格式存入该数组。定义一个函数calculate来计算个人所得税

#include<stdio.h>
#define taxbase 3500
/*定义结构体*/
typedef struct
{
long start;
long end;
double taxrate;
}taxtable;
/*定义结构体数组*/
taxtable TAXtable[]={{0,1500,0.03},{1500,4500,0.1},{4500,9000,0.2},{9000,35000,0.25},{35000,55000,0.3},{55000,80000,0.35},{80000,999999,0.45}};
double calculatetax(long profit)
{
int i;
double tax=0;
profit-=taxbase;//超过个税起征点的收入
for(i=0;i<sizeof(TAXtable)/sizeof(taxtable);i++)
{
if(profit>TAXtable[i].start)
{
if(profit>TAXtable[i].end)
{
tax+=(TAXtable[i].end-TAXtable[i].start)*TAXtable[i].taxrate;
}
else
{
tax+=(profit-TAXtable[i].start)*TAXtable[i].taxrate;
}
profit-=TAXtable[i].end;
printf("征税范围:%6ld_%6ld 该范围内缴纳税金额:%6.2f 超出该范围的金额:%6ld\n",TAXtable[i].start,TAXtable[i].end,tax,(profit)>0 ? profit:0);
}
}
return tax;
}
int main()
{

long profit;
double tax;
printf("请输入个人收入:");
scanf("%ld",&profit);
tax=calculatetax(profit);
printf("您的个人所的税:%12.2f\n",tax);

 


return 0;
}

 

posted @   千恒  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示