C语言实现9位同学成绩降序排序与新成绩插入,附3大改进建议
以下是使用 C 语言实现上述功能的示例代码: ```c #include <stdio.h> // 交换两个元素的值 void swap(int* a, int* b) { int temp = *a; *a = *b; *b = temp; } // 冒泡排序实现降序排列 void bubbleSort(int arr[], int n) { int i, j; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (arr[j] < arr[j + 1]) { swap(&arr[j], &arr[j + 1]); } } } } // 插入新同学的成绩 void insertNewScore(int arr[], int n, int newScore) { int i; for (i = 0; i < n; i++) { if (newScore >= arr[i]) { for (int j = n; j > i; j--) { arr[j] = arr[j - 1]; } arr[i] = newScore; break; } } } int main() { int scores[] = {85, 78, 92, 67, 88, 72, 90, 80, 76}; int newScore = 82; int n = sizeof(scores) / sizeof(scores[0]); bubbleSort(scores, n); insertNewScore(scores, n, newScore); for (int i = 0; i <= n; i++) { printf("%d ", scores[i]); } printf("\n"); return 0; } ``` 以下是 3 个改进建议: 1. 可以使用更高效的排序算法,如快速排序。 2. 在插入新成绩时,可以考虑使用二分查找来提高查找合适位置的效率。 3. 对输入的成绩进行有效性检查,确保其在合理范围内。 ######[AI写代码神器 | 486点数解答 | 2024-12-27 15:11:56]
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)429
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)375
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)369
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)365
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)238
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)82
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)86
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)77
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)376
- C++ 实现学生成绩统计:最高分、最低分、不及格与优秀人数计算(字节豆包 | 489点数解答 | 2026-04-12 10:09:58)11
- 班级分组难题:最少修改多少同学 id 实现公平配对?(DeepSeek | 1604点数解答 | 2026-01-11 13:28:28)68
- 巧用算法!求解班级分组中最少更改学生ID数的难题(DeepSeek | 2266点数解答 | 2026-01-13 17:47:37)49