当前位置: 首页 > news >正文

群晖ds218 做网站织梦模仿网站视频

群晖ds218 做网站,织梦模仿网站视频,中医网站建设素材,网站建设策划书格式参考信息 杭州市的个人所得税起征点是每月5000元。 个人所得税税率标准: 1、工资范围在1-5000元之间的,包括5000元,适用个人所得税税率为0%; 2、工资范围在5000-8000元之间的,包括8000元,适用个人所得税税率为3%; 3、工…

参考信息

杭州市的个人所得税起征点是每月5000元。
个人所得税税率标准:
1、工资范围在1-5000元之间的,包括5000元,适用个人所得税税率为0%;
2、工资范围在5000-8000元之间的,包括8000元,适用个人所得税税率为3%;
3、工资范围在8000-17000元之间的,包括17000元,适用个人所得税税率为10%;
4、工资范围在17000-30000元之间的,包括30000元,适用个人所得税税率为20%;
5、工资范围在30000-40000元之间的,包括40000元,适用个人所得税税率为25%;
6、工资范围在40000-60000元之间的,包括60000元,适用个人所得税税率为30%;
7、工资范围在60000-85000元之间的,包括85000元,适用个人所得税税率为35%;
8、工资范围在85000元以上的,适用个人所得税税率为45%。

  • 注意:这个月薪工资是扣除五险一金之后的个人所得金额,这部分需要缴纳个税。

思路

初级程序员

啊?这有什么难的,直接 判断做几十个if else不就OK了吗? 如果小于5000,直接扣税0,大于5000,再看是不是大于8000,是的话,先扣 3000 * 3%,一直往下走不就行了。

这样写确实实现了功能。不过如果这类问题标准有100项,岂不是需要写400行以上代码。

中级程序员

标准可以配置化,如果需求数值变更,只需要修改配置即可。

优化

多次计算的情况下,可以做预处理,减少重复加法。

代码

#define NDEBUG  //禁用断言
#include <iostream>
#include <bits/stdc++.h>  //引入所有的C++标准库头文件using namespace std;  //使用std命名空间typedef struct ShuiCfg {   //定义结构体类型ShuiCfgShuiCfg(int a, int b, int c){   //定义结构体初始化函数min = a;max = b;rate = c;}int min = 0;  //定义最小值int max = INT32_MAX;  //定义最大值int rate = 0;  //定义税率
} ShuiCfg;GetAfterShui(vector<ShuiCfg> &vec, vector<int>& vec_rmb) {  //定义函数GetAfterShui,参数为struct数组和int数组的引用cout << "GetAfterShui" << endl;  //输出字符串"GetAfterShui"for (auto rmb : vec_rmb) {  //使用范围for循环遍历vec_rmbint shui = 0;  //定义税为0for (auto &it : vec) {  //使用范围循环遍历vec数组if (rmb > it.max) {  //如果rmb大于it.max,即工资大于本档次最大值shui += (it.max - it.min) * it.rate / 100;  //税收增量=(最大值-最小值)×税率÷100} else {  //否则,即工资小于本档次最大值shui += (rmb - it.min) * it.rate / 100;  //税收增量=(工资-最小值)×税率÷100break;  //结束for循环}}cout << rmb << " ,shui=" << shui << ", last=" << rmb - shui << endl;  //输出工资、税收增量和取得实际收入后}
}GetAfterShui2(vector<ShuiCfg> &vec, vector<int>& vec_rmb) {  //定义函数GetAfterShui2,参数为struct数组和int数组的引用cout << "GetAfterShui2" << endl;  //输出字符串"GetAfterShui2"vector<int> vec_before;  //定义存储之前税收的vectorint  before = 0;  //定义之前税收的累加值,初始值为0for (auto &it : vec) {  //使用范围循环遍历vec数组vec_before.push_back(before);  //将之前税收的累加值压入vec_before中before += (it.max - it.min) * it.rate / 100;  //之前税收累计值+=(最大值-最小值)×税率÷100}int shui = 0;  //定义税为0for (auto rmb : vec_rmb) {  //使用范围for循环遍历vec_rmbfor (int i = 0; i < vec.size(); ++i) {  //使用for循环遍历vecauto it = vec[i];  //获取vec[i]元素if (rmb < it.max && rmb >= it.min) {  //如果工资值在该区间内shui = (rmb - it.min) * it.rate / 100 + vec_before[i];  //税收增量=(工资-最小值)×税率÷100+累加值break;  //结束for循环}}cout << rmb << " ,shui=" << shui << ", last=" << rmb - shui << endl;  //输出工资、税收增量和取得实际收入后}
}int main() {vector<ShuiCfg> vec{{0,5000,0},{5000,8000,3},{8000,17000,10},{17000,30000,20},{30000,40000,25},{40000,60000,30},{60000,85000,35},{85000,INT32_MAX,45},};  //定义vector类型的数组vecvector<int> vec_rmb{5000, 10000, 20000,50000, 100000};  //定义vector类型的数组vec_rmbGetAfterShui(vec, vec_rmb);  //调用函数GetAfterShuiGetAfterShui2(vec, vec_rmb);  //调用函数GetAfterShui2return 0;   //返回0,代表程序正常结束
}

运行结果

在这里插入图片描述

  • 代码里写了两种计算方法 GetAfterShui, GetAfterShui2。计算的次数越多,配置越长,GetAfterShui2节省的时间越多。

有人可能会问了,“为什么你的注释写的这么多?这么详细?”

我会这么回答:“啊,这,这是chatGPT帮忙写的注释。”

朋友介绍的目前能用chatGPT。(这个网站不用科学 上网)
https://freegpt.one

http://www.yayakq.cn/news/910448/

相关文章:

  • 邯郸教育平台网站建设怎么在百度上发布信息
  • 单位内部网站建设四川建设网站
  • 公司的网站设计方案深圳手机网站建设哪家好
  • 人防网站建设成都网站设计公司价格
  • 公司介绍网站怎么做信息产业部 备案网站
  • 网站显示正在建设中毕业设计做网站前端
  • 在洪雅网站做企业招聘宿州银行网站建设
  • 网站网页?问?seo搜索引擎优化网站
  • 怎样在赶集微网站做微招聘信息wordpress配置虚拟主机
  • 网站最合适的字体大小做一个网站需要花费多少钱
  • 用php内容做电商网站创意网店店铺名字大全
  • 设计网站汇总同ip网站有什么影响
  • 网站用什么软件做败sp深圳注册公司一定要u盾吗
  • 长沙百度seo郑州seo竞价
  • 企业网站建设遵循的原则菏泽网站设计培训
  • 做中文网站公司做视频网站注意什么软件
  • 广州地铁站路线图seo如何建立优化网站
  • 浙江省院士专家工作站建设网站新手如何学会做网络销售
  • wordpress还原回收站无锡网站建设
  • 网站开发赚钱方向互联网网站 数据库
  • 烟台做网站企业湖北系统建站怎么用
  • 做个网站多少钱合适爱淘苗网站开发模式
  • 深圳手机商城网站设计制作忻州网站seo
  • 物联网水表专业黑帽seo
  • 68Design一样设计网站公司小程序开发哪家好
  • 微享网络网站建设网站联系我们模板
  • 品牌网站设计制作哪家正规桔子摄影
  • vue适合做门户网站吗手机网站建设市场报价
  • 熊掌号网站怎么做谷歌浏览器搜索引擎入口
  • 江苏建设造价信息网站wordpress主题php7