演讲比赛评分程序:用基础方法实现公平打分计算
### 思路分析 首先要读取评委的数量和每个评委的打分,然后将这些打分存储在数组中。接着,对数组进行排序,找出最高分和最低分。去掉最高分和最低分后,计算剩余分数的总和并求出平均分。将剩余的有效分数按从小到大的顺序输出。 ### 代码实现 ```cpp #include <iostream> // 简单的冒泡排序函数 void bubbleSort(double arr[], int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换 arr[j] 和 arr[j+1] double temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int main() { int n; std::cin >> n; double scores[100]; // 读取每个评委的打分 for (int i = 0; i < n; i++) { std::cin >> scores[i]; } // 使用冒泡排序对分数进行排序 bubbleSort(scores, n); double sum = 0; // 计算去掉最高分和最低分后的总分 for (int i = 1; i < n - 1; i++) { sum += scores[i]; } // 计算平均分 double average = sum / (n - 2); // 输出平均分,保留一位小数 std::cout.precision(1); std::cout << std::fixed << average << std::endl; // 输出从低到高的有效分数 for (int i = 1; i < n - 1; i++) { if (i > 1) { std::cout << " "; } std::cout << scores[i]; } std::cout << std::endl; return 0; } ``` ### 代码解释 - **冒泡排序函数 `bubbleSort`**:通过多次比较相邻元素,如果顺序错误就交换它们的位置,最终将数组按从小到大的顺序排列。 - **主函数 `main`**: - 读取评委的数量 `n` 和每个评委的打分,存储在 `scores` 数组中。 - 调用 `bubbleSort` 函数对 `scores` 数组进行排序。 - 计算去掉最高分和最低分后的总分,并求出平均分。 - 输出平均分,保留一位小数。 - 输出从低到高的有效分数,相邻数字之间用空格隔开。 ######[AI问答 | 652点数解答 | 2026-04-18 19:51:07]
- Java 实现计算机硬件模拟:从 PCI 设备到主板、计算机的启动与关闭(字节豆包 | 716点数解答 | 2024-12-08 23:38:38)340
- Java 代码:模拟计算机主板启动与关闭 PCI 设备全流程(字节豆包 | 637点数解答 | 2024-12-09 08:31:54)306
- Java 编程:手把手实现电影信息展示系统之 Movie 类设计(字节豆包 | 456点数解答 | 2024-10-29 10:11:19)144
- Java 实战:Vehicle 类与 User 类实现机动车速度功率控制( | 968点数解答 | 2024-03-12 11:26:25)553
- Even More Odd Photos:求解 Farmer John 奶牛分组最大组数的算法解析(字节豆包 | 841点数解答 | 2026-02-03 15:18:32)44
- 基础倒水问题:n 个杯子 k 次倒水后水量全揭秘!(字节豆包 | 160点数解答 | 2026-02-04 21:37:25)43
- “龙虎斗”游戏难题破解:Python代码实现最小气势差距兵营选择(字节豆包 | 709点数解答 | 2026-02-05 17:06:22)47
- C++ 实现打印放大的 'X' 问题解答(字节豆包 | 359点数解答 | 2026-04-02 14:37:18)38
- 【基础】数值计算的 C++ 实现(字节豆包 | 359点数解答 | 2026-04-12 13:41:24)15
- 基础数值计算:C++实现数字位数、逐位输出及逆序输出(字节豆包 | 395点数解答 | 2026-04-12 13:41:46)17
- C++实现区间1到n中数字x出现次数的统计(字节豆包 | 438点数解答 | 2026-04-12 13:46:48)11
- 用 C++ 计算 1 到 n 之间回文数的个数(字节豆包 | 468点数解答 | 2026-04-12 16:10:36)11