首页 > 其他分享 >11.个人所得税

11.个人所得税

时间:2023-04-24 23:12:51浏览次数:41  
标签:11 end TaxTable profit tax long start 个人所得税

 问题分析:

定义结构体类型的变量

这里可以使用结构体数组存放不同的税率范围。
 
接着使用 for 循环遍历每一个征税范围,将个人收入中超出起征点的金额在每个征税范围内应缴纳的税款累加起来,就得到最后应缴纳的个人所得税。

 

 

代码:

#include <stdio.h>
#define TAXBASE 3500

//定义结构体
typedef struct
{
long start;
long end;
double taxrate;
}TAXTABLE;

//定义结构数组
TAXTABLE TaxTable[] = { {0, 1500, 0.03}, {1500, 4500, 0.10}, {4500, 9000, 0.20}, {9000, 35000, 0.25},{35000, 55000, 0.30}, {55000, 80000, 0.35}, {80000, 1e10, 0.45} };

//CaculateTax() 函数
double CaculateTax(long profit)
{
int i;
double tax = 0.0;
profit -= TAXBASE; /*超过个税起征点的收入*/
for (i = 0; i < sizeof(TaxTable) / sizeof(TAXTABLE); i++)
{
/*判断profit是否在当前的缴税范围内*/
if (profit > TaxTable[i].start)
{
if (profit > TaxTable[i].end) /* profit 超过个税起征点的收入 */
{
tax += (TaxTable[i].end - TaxTable[i].start) * TaxTable[i].taxrate;
}
else /* profit 未超过当前的缴税范围 */
{
tax += (profit - TaxTable[i].start) * TaxTable[i].taxrate;
}
profit -= TaxTable[i].end;
printf("征税范围:%3ld - %ld 该范围内缴税金额:%6.2f 超出该范围的金额:%3ld\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 = CaculateTax(profit);
printf("您的个人所得税为:%12.2f\n", tax);
return 0;
}

标签:11,end,TaxTable,profit,tax,long,start,个人所得税
From: https://www.cnblogs.com/cqdycazs/p/17351271.html

相关文章

  • Python_11 类的方法
    一、查缺补漏1. 实例方法必须用类实例化对象()来调用,用类来调用时会执行,但是self中不是实例化类地址而是传的字符串二、类中的方法1. 实例方法1. 定义在类里面的普通方法(函数)2. 第一个参数必须是类实例,在方法调用的时候会自动传递,这个参数名称可以随便定义默认self3.......
  • 1163. 按字典序排在最后的子串
    题目链接:1163.按字典序排在最后的子串方法:双指针解题思路【正常走路我不走,就是跳,就是玩】任何非后缀子串字典序都小于其相应的后缀子串,如\(s[i,i+k]<s[i,n-1]\),\(k<n-1\),故答案一定为后缀子串,即\(s[i,n-1]\);观察数据规模,\(4*10^5\),暴力一定超时;法宝:......
  • 如何在win10环境下安装Oracle 11g
    如在win10环境下安装Oracle11g时,在安装点击setup.exe之后,出现了:[INS-13001]环境不满足最低要求原因:版本注册的问题,默认Oracle11没有添加win10的注册信息,所以要将win10的注册信息添加到Oracle的配置文件里解决方法:1.首先找到你解压后的文件,点击打开database->stage->cvu->......
  • excel的练习1--自定义单元格格式(win11)
    题目1.4自定义单元格格式。在EXCEL单元格区域设置自定义数字格式,实现如下效果:在该区域的任意单元格输入数字1,则显示为√,其他数据原样显示。则:1.格式定义形式为【1】.【提示:格式-单元格格式-自定义】2.格式定义之后得到的结果B4:F10复制粘贴为文本到第【2】空。答案步骤选......
  • cuda编程 转载https://zhuanlan.zhihu.com/p/592721411
     4.相关概念和术语在CUDA编程模型中,两个主要的硬件设备分别为CPU和GPU,它们都有自己专用的内存区域。I主机、设备和异构并行编程CPU连同它的计算机RAM被称为主机(Host)。CPU由于其结构特点非常适合运行串行程序。但CPU的问题是,如果其运行至一部分需要大规模并行运算的代码时,......
  • 1111
    1、运维故障复盘,进行技术改进,开复盘会。2、关键运维技术进行难点进行攻克,在测试环境进行测试验证,在生产环境执行。指导其他运维进行难点问题处理。3、对公司关键运维技术难题进行架构设计,例如由于服务器服务机房老化迁移、服务器高可用风险防范、服务器应急故障处理。4、运......
  • 打卡11
    2.8猜数牌 基本框架for(inti=1;i<=13;i++)//循环13次,每次将一张牌放进盒子 { intn=1; do//内循环找盒子,将i号牌放入 { //如果盒子非空,继续找下一个盒子 //如果盒子空,判断盒子序号和牌序号是否相同,相同则存入 }while(n<=i); }do { if......
  • The Bells are Ringing UVA-12119
    已知M为T1,T2,T3的LCM输出满足Ti-Tj<=25的所有可能情况#include<iostream>#include<cmath>#include<algorithm>#include<cstring>usingnamespacestd;constintN=1E6+3;#defineintlonglongintpm[N],tot;intb[N],fac[N],F[N],len,cnt[N]......
  • 怎么在win11上使用安卓app
    首先开启Hyper-V开启之后直接去微软应用商店搜索amzonappstore下载然后这里我用的是一个叫秋之盒的软件管理找到子系统的IP地址这里需要开启开发人员模式然后输入IP连接就行......
  • Django4全栈进阶之路11 view视图
    在Django4中,视图(View)是一个处理请求并返回响应的Python函数或类的组合。视图函数通常是处理请求的主要逻辑,因此它是DjangoWeb应用程序的重要组成部分。视图函数的基本结构如下:fromdjango.httpimportHttpResponsedefmy_view(request):#处理请求的代码r......