惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
月光博客
月光博客
Last Week in AI
Last Week in AI
博客园_首页
I
InfoQ
T
Tailwind CSS Blog
爱范儿
爱范儿
雷峰网
雷峰网
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
B
Blog
WordPress大学
WordPress大学
A
About on SuperTechFans
V
Visual Studio Blog
有赞技术团队
有赞技术团队
P
Proofpoint News Feed

OneCoder

【GESP】C++三级、四级练习 luogu-P2089 烤鸡 【NOIP】1997真题解析 luogu-P2241 统计方形(数据加强版) GESP三、四级以上可练习 【GESP】C++四级练习 luogu-P1296 奶牛的耳语 【CSP】CSP-J 2022 第一轮真题解析(三):完善程序题 【GESP】C++五级练习 luogu-P3743 小鸟的设备 【CSP】CSP-J 2022 第一轮真题解析(二):阅读程序题 【CSP】CSP-J 2022 第一轮真题解析(一):单项选择题 【CSP】CSP-J 2023 第一轮真题解析(三):完善程序题 【CSP】CSP-J 2023 第一轮真题解析(二):阅读程序题 【GESP】C++五级练习 luogu-P1678 烦恼的高考志愿 【CSP】CSP-J 2023 第一轮真题解析(一):单项选择题 【CSP】CSP-J 2024 第一轮真题解析(三):完善程序题 【CSP】CSP-J 2024 第一轮真题解析(二):阅读程序题 【CSP】CSP-J 2024 第一轮真题解析(一):单项选择题 【NOIP】2015真题解析 luogu-P2678 跳石头(适合GESP六级以上练习) 【GESP】C++六级练习 luogu-B2174, 完全背包 【NOIP】2005真题解析 luogu-P1048 采药(适合GESP六级以上练习) 【GESP】C++六级真题 luogu-P17013, [GESP202606 六级] 满二叉树 【GESP】C++六级真题 luogu-P17012, [GESP202606 六级] 条形蛋糕 【GESP】C++五级真题 luogu-P17011 [GESP202606 五级] 晚宴 【GESP】C++五级真题 luogu-P17010 [GESP202606 五级] 排排坐 【GESP】C++四级真题 luogu-B4558 [GESP202606 四级] 身高体重指数 【GESP】C++四级真题 luogu-B4557 [GESP202606 四级] 扫雷 【GESP】C++三级真题 luogu-B4556 [GESP202606 三级] 字符转换 【GESP】C++三级真题 luogu-B4555 [GESP202606 三级] 加密 【GESP】C++二级真题 luogu-B4554 [GESP202606 二级] 菱形 【GESP】C++二级真题 luogu-B4553 [GESP202606 二级] 完全平方数计数 【GESP】C++一级真题 luogu-B4551 [GESP202606 一级] 去旅行 【NOIP】2000真题解析 luogu-P1023 税收与补贴问题(适合GESP四、五级以上练习) 【NOIP】2000真题解析 luogu-P1022 计算器的改良(适合GESP四、五级以上练习)
【GESP】C++一级真题 luogu-B4552 [GESP202606 一级] 交税
OneCoder · 2026-06-29 · via OneCoder

GESP C++一级,2026年6月真题,基础运算和循环语句,难度⭐,洛谷难度入门

luogu-B4552 [GESP202606 一级] 交税

题目要求

题目描述

根据国家税收相关规定,劳务报酬需要按月预交个税,预交税率如下:

  1. 劳务报酬不超过 $800$ 的,不需要预交个税;
  2. 劳务报酬超过 $800$ 的,仅超过 $800$ 的部分按照 $20\%$(即 $0.2$)税率预交个税(不超过 $800$ 的部分不需要预交个税);

例如,月劳务报酬为 $1000.0$,则按照规则 $2$ 需要预交个税 $(1000.0 - 800.0) \times 20\% = 40.00$。

现在给定小杨同学 $12$ 个月的月度劳务报酬,请帮小杨同学计算他这 $12$ 个月应预交个税的总和。

输入格式

输入 $12$ 行,每行一个浮点数,表示小杨同学 $12$ 个月中每个月的劳务报酬。

每个浮点数恰好有一位小数。

输出格式

输出 $1$ 行,一个浮点数,保留两位小数,表示小杨同学 $12$ 个月应预交个税的总和。

输入输出样例 #1

输入 #1

1
2
3
4
5
6
7
8
9
10
11
12
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

说明/提示

样例解释 1
  1. $932.0$ 符合规则 $2$,超过 $800$ 的部分为 $132.0$,按照 $20\%$ 预交为 $132.0 \times 20\% = 26.40$;
  2. $1634.3$ 符合规则 $2$,超过 $800$ 的部分为 $834.3$,按照 $20\%$ 预交为 $834.3 \times 20\% = 166.86$;
  3. $1790.4$ 符合规则 $2$,超过 $800$ 的部分为 $990.4$,按照 $20\%$ 预交为 $990.4 \times 20\% = 198.08$;
  4. $2172.9$ 符合规则 $2$,超过 $800$ 的部分为 $1372.9$,按照 $20\%$ 预交为 $1372.9 \times 20\% = 274.58$;
  5. $378.1$ 符合规则 $1$,不需要预交个税;
  6. $283.4$ 符合规则 $1$,不需要预交个税;
  7. $2761.9$ 符合规则 $2$,超过 $800$ 的部分为 $1961.9$,按照 $20\%$ 预交为 $1961.9 \times 20\% = 392.38$;
  8. $3583.5$ 符合规则 $2$,超过 $800$ 的部分为 $2783.5$,按照 $20\%$ 预交为 $2783.5 \times 20\% = 556.70$;
  9. $10.1$ 符合规则 $1$,不需要预交个税;
  10. $2324.9$ 符合规则 $2$,超过 $800$ 的部分为 $1524.9$,按照 $20\%$ 预交为 $1524.9 \times 20\% = 304.98$;
  11. $1111.6$ 符合规则 $2$,超过 $800$ 的部分为 $311.6$,按照 $20\%$ 预交为 $311.6 \times 20\% = 62.32$;
  12. $3812.3$ 符合规则 $2$,超过 $800$ 的部分为 $3012.3$,按照 $20\%$ 预交为 $3012.3 \times 20\% = 602.46$;

总和为 $2584.76$。

数据范围

小杨同学每月劳务报酬收入均为正,且恰好有一位小数,且不超过 $4000.0$。


题目分析

解题思路

本题的解题思路如下:

  1. 问题本质:
    • 输入 $12$ 个浮点数,代表每月的劳务报酬
    • 对每个月的报酬,按规则计算应预交的个税,最后求总和
  2. 解题关键 — 分段计算与累加:
    • 对于每个月的劳务报酬 $x$:若 $x \leq 800$,该月个税为 $0$;若 $x > 800$,该月个税为 $(x - 800) \times 0.2$
    • 将 $12$ 个月的个税累加即可
    • 输入是浮点数(带一位小数),需要使用 double 类型
    • 输出需要保留两位小数
  3. 复杂度分析:
    • 时间复杂度:$O(1)$,固定循环 $12$ 次
    • 空间复杂度:$O(1)$,只需要存储几个变量

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <cstdio>

int main() {
    // 用于累加12个月的个税总和
    double total = 0.0;
    // 循环读取12个月的劳务报酬
    for (int i = 0; i < 12; i++) {
        double salary;
        // 从标准输入读取当月劳务报酬
        scanf("%lf", &salary);
        // 如果报酬超过800,对超出部分按20%计算个税并累加
        if (salary > 800.0) {
            total += (salary - 800.0) * 0.2;
        }
    }
    // 输出12个月应预交个税总和,保留两位小数
    printf("%.2f\n", total);
    return 0;
}


所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

GESP 学习专题站:GESP WIKI

"luogu-"系列题目可在洛谷题库进行在线评测。

"bcqm-"系列题目可在编程启蒙题库进行在线评测。

欢迎加入Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答

欢迎加入C++ GESP/CSP认证学习QQ频道,考试资源总结汇总

欢迎加入C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助

GESP/CSP 认证学习微信公众号

GESP/CSP 认证学习微信公众号