CCF GESP 2026年6月认证 C++ 1级
三
编程题
第 1 题
去旅行
题目描述
快暑假了,小杨同学正在计划出去旅行,前往目的地的方案多种多样,小杨同学想知道如何前往目的地最便宜。
小杨同学住在 $A$ 市,旅行目的地是 $B$ 市,小杨同学前往目的地有三种方案:
- 从 $A$ 市直飞 $B$ 市;
- 从 $A$ 市坐高铁到 $C$ 市,然后坐飞机到 $B$ 市;
- 从 $A$ 市坐高铁到 $C$ 市,然后坐高铁到 $B$ 市。
请帮小杨同学求出最便宜的出行方案的价格。
输入格式
输入包含 4 行,每行一个正整数:
- 第 1 行的正整数表示「从 $A$ 市直飞 $B$ 市」的价格;
- 第 2 行的正整数表示「从 $A$ 市坐高铁到 $C$ 市」的价格;
- 第 3 行的正整数表示「从 $C$ 市坐飞机到 $B$ 市」的价格;
- 第 4 行的正整数表示「从 $C$ 市坐高铁到 $B$ 市」的价格。
输出格式
输出一个正整数,表示 3 种方式中,最便宜的出行方案的价格。
样例说明
样例 1
输入:
999
105
699
588
输出:
693
样例解释:
方案1. 直飞价格为999;
方案2. 高铁转飞机价格为105+699=804;
方案3. 高铁的价格为105+588=693;
因此最便宜的价格是693。
样例 2
输入:
9
3
8
7
输出:
9
样例解释:
方案1. 直飞价格为9;
方案2. 高铁转飞机价格为3+8=11;
方案3. 高铁的价格为3+7=10;
因此最便宜的价格是9。
数据范围
所有输入均为正整数,且不超过 10000。
第 2 题
交税
题目描述
根据国家税收相关规定,劳务报酬需要按月预交个税,预交税率如下:
- 劳务报酬不超过 800 的,不需要预交个税;
- 劳务报酬超过 800 的,仅超过 800 的部分按照 20%(即 0.2)税率预交个税(不超过 800 的部分不需要预交个税);
例如,月劳务报酬为 1000.0,则按照规则 2 需要预交个税 (1000.0−800.0)×20%=40.00。
现在给定小杨同学 12 个月的月度劳务报酬,请帮小杨同学计算他这 12 个月应预交个税的总和。
输入格式
输入 12 行,每行一个浮点数,表示小杨同学 12 个月中每个月的劳务报酬。
每个浮点数恰好有一位小数。
输出格式
输出 1 行,一个浮点数,保留两位小数,表示小杨同学 12 个月应预交个税的总和。
样例说明
样例 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
输出:
2584.76
样例解释:
- 932.0符合规则2,超过800的部分为132.0,按照20%预交为132.0×20%=26.40;
- 1634.3符合规则2,超过800的部分为834.3,按照20%预交为834.3×20%=166.86;
- 1790.4符合规则2,超过800的部分为990.4,按照20%预交为990.4×20%=198.08;
- 2172.9符合规则2,超过800的部分为1372.9,按照20%预交为1372.9×20%=274.58;
- 378.1符合规则1,不需要预交个税;
- 283.4符合规则1,不需要预交个税;
- 2761.9符合规则2,超过800的部分为1961.9,按照20%预交为1961.9×20%=392.38;
- 3583.5符合规则2,超过800的部分为2783.5,按照20%预交为2783.5×20%=556.70;
- 10.1符合规则1,不需要预交个税;
- 2324.9符合规则2,超过800的部分为1524.9,按照20%预交为1524.9×20%=304.98;
- 1111.6符合规则2,超过800的部分为311.6,按照20%预交为311.6×20%=62.32;
- 3812.3符合规则2,超过800的部分为3012.3,按照20%预交为3012.3×20%=602.46;
总和为2584.76。
数据范围
小杨同学每月劳务报酬收入均为正,且恰好有一位小数,且不超过 4000.0。
编程题部分已到底了。