首页 > 其他分享 >打卡1

打卡1

时间:2023-05-08 20:57:00浏览次数:41  
标签:taxrate profit tax start 4500 打卡 80000

问题描述:编写一个计算机个人所得税的程序,要求输入收入金额后,能够输出个人所得税,征收如下:

起始点为3500元,征收3%

1500~4500元,征收10%

4500~9000元,征收20%

9000~35000元,征收25%

35000~55000元,征收30%

55000~80000元,征收35%

超出80000元,征收45%

流程图:

 

 

伪代码:

start[6]={0,1500,4500,9000,35000,55000}

end[6]={1500,4500,9000,35000,55000,80000}

taxrate[6]={0.03,0.1,0.2,0.25,0.3,0.35}

input profit

tax=0

for i<-0 to 5

if(profit>start[i])

if(profit<=end[i])

tax+=(profit-start[i])*taxrate[i]

else

tax+=(end[i]-start[i])*taxrate[i]

else

break

if(profit>80000)

tax+=(profit-80000)*0.45

output tax

代码:

#include <iostream>

using namespace std;

int main()

{

int start[6]={0,1500,4500,9000,35000,55000};

int end[6]={1500,4500,9000,35000,55000,80000};

double taxrate[6]={0.03,0.1,0.2,0.25,0.3,0.35};

double profit,tax=0;

int i;

cin>>profit;

for(i=0;i<6;i++)

{

if(profit>=start[i])

{

if(profit<end[i])

tax+=(profit-start[i])*taxrate[i];

else

tax+=(end[i]-start[i])*taxrate[i];

}

else

break;

}

if(profit>80000)

tax+=(profit-80000)*0.45;

cout<<tax<<endl;

return 0;

 }

 

标签:taxrate,profit,tax,start,4500,打卡,80000
From: https://www.cnblogs.com/chukjbgg333/p/17383086.html

相关文章

  • 编程打卡: C++ 语言程序设计
    编程打卡:C++语言程序设计#include<iostream>#include<array>usingnamespacestd;intmain(){intn;cin>>n;array<double,100000>scores;for(inti=0;i<n;i++){cin>>scores[i];}......
  • 第十四天打卡
    一、问题描述一个口袋中放有12个球,已知其中3个是红色,3个是白色,6个是黑色,先从中任取8个,问共有多少种可能的颜色搭配?二、设计思路1.设m,n分别记录取出红的和白的,用8-m-n表示黑的;2.利用二重循环依次求出满足条件的m,n;3.在设计if条件满足8-m-n<=6,然后输出结果。三、程序流......
  • 2023.5.8编程一小时打卡
    一、问题描述:初始化int类型数组date1[]={1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20},应用本章的直接插入排序模板进行排序,对此函数模板稍作修改,加入输出语句,在每一个待排序元素后显示整个数组,观察排序过程中数据的变化,加深对插入排序算法的理解。二、解题思路:首先,定......
  • 每日打卡一小时(第二十二天)
    一.问题描述以点类Point及平面图形类Plane为基类公有派生圆类Circle,再以圆类Circle及立体图形类Solid为基类公有派生球类Sphere,main(void)函数完成对球类Sphere的测试。Point类结构说明:Point类的数据成员包括:①私有数据成员:X坐标x(double型),Y坐标y(double型)。Point类成员函......
  • 第17天打卡
    问题:算法设计直接暴力循环源代码:#include<stdio.h>include<math> intmain(){doublen=0.0;inti;for(i=0;i<=64;i++){n+=n+pow(2,i-1);}pritnf("%lf",n);return0;} ......
  • c++打卡第二十天
    一、问题描述 二、设计思路  最终的里程数为一个对称数,这个数是大于95859的,我们先判断这个五位数的各位数,将结果存储到数组中,继续判断第一位和第五位,第二位和第四位是否相等,如果相等的话,将这个数与95859相减,同时除以时间就得到速度。最终得到新的对称数和速度。三、流程......
  • 带分数(递归)//每日打卡 1
     #include<cstring>#include<cstdio>#include<iostream>#include<algorithm>usingnamespacestd;constintN=30;intsum,m;intnum[N];boolused[N];intcnt;intcalc(intl,intr)//分成三段每一段的值a,b,c分别算出{intres=0;for(int......
  • 每日打卡-18
    一.问题描述给定两个升序排序的有序数组A和B,以及一个目标值x。数组下标从0开始。请你求出满足A[i]+B[j]=x的数对(i,j)。二.设计思路i指针从a数组从前往后开始遍历j指针从b数组从后往前开始遍历若a[i]+b[j]>k说明要缩小区间使和变小即j–,反之i++三.......
  • 打卡第十七天
    内联函数求圆的面积一、1.定义一个函数作为求圆面积的内联函数二、三、#include<iostream>usingnamespacestd;constdoublepai=3.1415926;inlinedoublemianji(doubler){ returnpai*r*r;}intmain(){ intR; cin>>R; doublearea=mianji(R); cout<<""<<area&......
  • c++打卡练习(22)
    判断一个数是不是完数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){ intN,i,j,S; cin>>N; for(i=2;i<=N;i++){ S=0; for(j=1;j<=(i/2);j++){ if(i%j==0){ S+=j; } if(S==i){ cout<<S<<""<<"is......