假设一个班级有20人,期末考试时,一名同学办理了缓考,其余19人正常参加考试,并且19人的考试成绩已经按照从高到低的顺序进行了排序,缓考结束后,老师要将缓考同学的成绩插入到班级的成绩单中,试问这个缓考同学的成绩要怎样插入才不影响已经排序浩的成绩单。c代码
时间: 2023-06-05 21:08:43 浏览: 113
抱歉,我可以回答此问题。
可以使用插入排序的方法,将缓考同学的成绩插入到已排序的成绩单中。
下面是插入排序的C代码实现:
```
#include <stdio.h>
void insertionSort(int arr[], int n){
int i, key, j;
for (i = 1; i < n; i++){
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key){
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
int main(){
int arr[] = {78, 67, 92, 83, 88, 85, 89, 90, 95, 96, 98, 100, 94, 91, 87, 84, 82, 79, 75, 70};
int n = sizeof(arr)/sizeof(arr[0]);
int i, j, temp;
printf("Before inserting: ");
for(i=0; i<n; i++){
printf("%d ", arr[i]);
}
printf("\n");
int newScore = 80; //缓考同学的成绩为80
arr[n-1] = newScore;
insertionSort(arr, n); //使用插入排序将新成绩插入到已排序的成绩单中
printf("After inserting: ");
for(i=0; i<n; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
阅读全文