C++实现演讲比赛分数计算与输出
### 代码实现 ```cpp #include <iostream> #include <iomanip> #include <algorithm> #include <vector> int main() { int n; std::cin >> n; // 输入评委数量 std::vector<double> scores(n); for (int i = 0; i < n; i++) { std::cin >> scores[i]; // 输入每个评委的分数 } // 对分数进行排序 std::sort(scores.begin(), scores.end()); double sum = 0; for (int i = 1; i < n - 1; i++) { sum += scores[i]; // 累加去掉最高分和最低分后的分数 } double average = sum / (n - 2); // 计算平均分 std::cout << std::fixed << std::setprecision(1) << 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; } ``` ### 代码解释 1. **输入处理**: - 首先读取一个整数`n`,表示评委的数量。 - 然后使用`std::vector`存储每个评委的分数,通过循环读取`n`个小数。 2. **排序**: - 使用`std::sort`函数对存储分数的向量进行排序,排序后分数从低到高排列。 3. **计算平均分**: - 去掉最高分(最后一个元素)和最低分(第一个元素),对中间的`n - 2`个分数求和。 - 用总和除以`n - 2`得到平均分。 4. **输出结果**: - 第一行输出平均分,使用`std::fixed`和`std::setprecision(1)`确保输出保留一位小数。 - 第二行输出去掉最高分和最低分后的有效分数,相邻分数用空格隔开。 ### 开发建议 1. **输入验证**:在实际应用中,应该对输入进行验证,确保`n`在`3`到`100`之间,并且每个分数在`0`到`100`之间。 2. **异常处理**:可以添加异常处理机制,例如当输入不是有效的数字时,给出相应的错误提示。 3. **代码复用**:将计算平均分和输出有效分数的逻辑封装成独立的函数,提高代码的复用性。 ######[AI写代码神器 | 631点数解答 | 2026-03-27 20:16:14]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)346
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)316
- 查询学生分数:代码实现、逻辑要点与错误处理揭秘(阿里通义 | 227点数解答 | 2024-12-05 19:08:09)245
- C++实现:从键盘输入学生分数并按学号精准查询,附代码与逻辑要点!(阿里通义 | 188点数解答 | 2024-12-05 19:08:45)528
- C++实现:查询童程童美班级学生成绩,附代码与逻辑要点 (阿里通义 | 228点数解答 | 2024-12-05 19:24:38)244
- C++实现学生成绩查询:代码详解、逻辑补充与扩展性提升(百度文心 | 362点数解答 | 2024-12-05 19:26:12)559
- C++ 实现:轻松查询童程童美班级学生考试成绩(字节豆包 | 200点数解答 | 2024-12-08 16:03:35)264
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)73
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)28
- Even More Odd Photos:求解 Farmer John 奶牛分组最大组数的算法解析(字节豆包 | 841点数解答 | 2026-02-03 15:18:32)33
- 睡眠充足判断:利用 C++ 代码计算午休与夜眠总时长(字节豆包 | 303点数解答 | 2026-02-04 21:22:37)41
- 推销员阿明的螺丝街“疲劳之旅”:如何为不同X值积累最大疲劳值?(字节豆包 | 627点数解答 | 2026-02-04 21:39:36)25