2026年6月GESP真题及题解(C++一级):交税

题目描述
根据国家税收相关规定,劳务报酬需要按月预交个税,预交税率如下:
- 劳务报酬不超过 800 800 800 的,不需要预交个税;
- 劳务报酬超过 800 800 800 的,仅超过 800 800 800 的部分按照 20 % 20\% 20%(即 0.2 0.2 0.2)税率预交个税(不超过 800 800 800 的部分不需要预交个税);
例如,月劳务报酬为 1000.0 1000.0 1000.0,则按照规则 2 2 2 需要预交个税 ( 1000.0 − 800.0 ) × 20 % = 40.00 (1000.0 - 800.0) \times 20\% = 40.00 (1000.0−800.0)×20%=40.00。
现在给定小杨同学 12 12 12 个月的月度劳务报酬,请帮小杨同学计算他这 12 12 12 个月应预交个税的总和。
输入格式
输入 12 12 12 行,每行一个浮点数,表示小杨同学 12 12 12 个月中每个月的劳务报酬。
每个浮点数恰好有一位小数。
输出格式
输出 1 1 1 行,一个浮点数,保留两位小数 ,表示小杨同学 12 12 12 个月应预交个税的总和。
输入输出样例 1
输入 1
932.0
1634.3
1790.4
2172.9
378.1
283.4
2761.9
3583.5
10.1
2324.9
1111.6
3812.3
输出 1
2584.76
说明/提示
样例解释 1
- 932.0 932.0 932.0 符合规则 2 2 2,超过 800 800 800 的部分为 132.0 132.0 132.0,按照 20 % 20\% 20% 预交为 132.0 × 20 % = 26.40 132.0 \times 20\% = 26.40 132.0×20%=26.40;
- 1634.3 1634.3 1634.3 符合规则 2 2 2,超过 800 800 800 的部分为 834.3 834.3 834.3,按照 20 % 20\% 20% 预交为 834.3 × 20 % = 166.86 834.3 \times 20\% = 166.86 834.3×20%=166.86;
- 1790.4 1790.4 1790.4 符合规则 2 2 2,超过 800 800 800 的部分为 990.4 990.4 990.4,按照 20 % 20\% 20% 预交为 990.4 × 20 % = 198.08 990.4 \times 20\% = 198.08 990.4×20%=198.08;
- 2172.9 2172.9 2172.9 符合规则 2 2 2,超过 800 800 800 的部分为 1372.9 1372.9 1372.9,按照 20 % 20\% 20% 预交为 1372.9 × 20 % = 274.58 1372.9 \times 20\% = 274.58 1372.9×20%=274.58;
- 378.1 378.1 378.1 符合规则 1 1 1,不需要预交个税;
- 283.4 283.4 283.4 符合规则 1 1 1,不需要预交个税;
- 2761.9 2761.9 2761.9 符合规则 2 2 2,超过 800 800 800 的部分为 1961.9 1961.9 1961.9,按照 20 % 20\% 20% 预交为 1961.9 × 20 % = 392.38 1961.9 \times 20\% = 392.38 1961.9×20%=392.38;
- 3583.5 3583.5 3583.5 符合规则 2 2 2,超过 800 800 800 的部分为 2783.5 2783.5 2783.5,按照 20 % 20\% 20% 预交为 2783.5 × 20 % = 556.70 2783.5 \times 20\% = 556.70 2783.5×20%=556.70;
- 10.1 10.1 10.1 符合规则 1 1 1,不需要预交个税;
- 2324.9 2324.9 2324.9 符合规则 2 2 2,超过 800 800 800 的部分为 1524.9 1524.9 1524.9,按照 20 % 20\% 20% 预交为 1524.9 × 20 % = 304.98 1524.9 \times 20\% = 304.98 1524.9×20%=304.98;
- 1111.6 1111.6 1111.6 符合规则 2 2 2,超过 800 800 800 的部分为 311.6 311.6 311.6,按照 20 % 20\% 20% 预交为 311.6 × 20 % = 62.32 311.6 \times 20\% = 62.32 311.6×20%=62.32;
- 3812.3 3812.3 3812.3 符合规则 2 2 2,超过 800 800 800 的部分为 3012.3 3012.3 3012.3,按照 20 % 20\% 20% 预交为 3012.3 × 20 % = 602.46 3012.3 \times 20\% = 602.46 3012.3×20%=602.46;
总和为 2584.76 2584.76 2584.76。
数据范围
小杨同学每月劳务报酬收入均为正,且恰好有一位小数,且不超过 4000.0 4000.0 4000.0。
思路分析
- 劳务报酬是否交税只取决于当月收入是否超过 800。
- 每月税额 = max(0, 收入 - 800) × 0.2。
- 逐月累加,最后输出总和,保留两位小数。
- 用
fixed和setprecision(2)控制输出格式。
代码实现
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,s=0;//a月收入,s总税
for(int i=1;i<=12;i++){//12个月
cin>>a;//读入
if(a>800)//超过800才计税
s+=(a-800)*0.2;//累加预交税
}
cout<<fixed<<setprecision(2)<<s<<endl;//保留两位输出
return 0;
}
功能分析
- 程序循环 12 次,每次读入一个浮点数。
- 若收入大于 800,计算超出部分的 20% 并累加到总和。
- 最终使用
fixed和setprecision(2)输出总和,确保两位小数。
各种学习资料,助力大家一站式学习和提升!!!
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"########## 一站式掌握信奥赛知识! ##########";
cout<<"############# 冲刺信奥赛拿奖! #############";
cout<<"###### 课程购买后永久学习,不受限制! ######";
return 0;
}
【秘籍汇总】(完整csp信奥赛C++学习资料):
1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):
https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:
https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:
CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转
CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转
信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转
4、csp信奥赛冲刺一等奖有效刷题题解:
信奥赛C++普及组CSP-J一等奖通关刷题题单及题解:
https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转
信奥赛C++普及组csp-j初赛&复赛真题题解(持续更新): https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转
信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转
5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转

GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转
· 文末祝福 ·
cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
cout<<"跟着王老师一起学习信奥赛C++";
cout<<" 成就更好的自己! ";
cout<<" csp信奥赛一等奖属于你! ";
return 0;
}
