建民の每日打卡11

发布时间 2023-04-22 21:39:51作者: 带带带集美

一、问题描述

二、流程设计

1.将各个区段的起点和终点及税率分别存入三个数组

2.建立循环判断超出部分是否处于该区段,若处于,将起点到终点的部分乘以该部分税率,若超出终点,将超出部分乘以税率

3.输出

三、流程图设计

先欠着

四、代码实现

#include <iostream>
using namespace std;
int main(){
int i;
long money;
float tax;
long start[7]={0,1500,4500,9000,35000,55000,80000};
long end[7]={1500,4500,9000,35000,55000,80000,1e10};
float taxrate[7]{0.03,0.1,0.2,0.25,0.3,0.35,0.45};
cin>>money;
long profit=money-3500;
for(i=0;i<7;i++){
if(profit>start[i]){
if(profit>end[i]){
tax+=(end[i]-start[i])*taxrate[i];
}else{
tax+=(profit-start[i])*taxrate[i];
}
profit-=end[i];
cout<<start[i]<<"-"<<end[i]<<" "<<tax<<endl;
}
}
cout<<"交税"<<tax;
}