酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

演讲比赛评分程序:用基础方法实现公平打分计算

### 思路分析 首先要读取评委的数量和每个评委的打分,然后将这些打分存储在数组中。接着,对数组进行排序,找出最高分和最低分。去掉最高分和最低分后,计算剩余分数的总和并求出平均分。将剩余的有效分数按从小到大的顺序输出。 ### 代码实现 ```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]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]