以下是使用 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. 对输入的成绩进行有效性检查,确保其在合理范围内。 [2024-12-27 15:11:56 | AI写代码神器 | 486点数解答]