c语言,现有一个数组,里面的存放了一组9位同学的C语言成绩,要求将这9位同学的成绩进行降序排序。此时,又有一位同学新加入这个小组,请将这位同学的成绩插入到合适的位置。
时间: 2024-03-25 07:37:37 浏览: 32
好的,以下是一个C语言程序的示例:
```c
#include <stdio.h>
// 对数组进行降序排序
void sort_desc(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = i + 1; j < len; j++) {
if (arr[j] > arr[i]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
// 输出数组元素
void print_array(int arr[], int len) {
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int scores[10] = {90, 80, 70, 60, 50, 40, 30, 20, 10};
int len = 9;
// 对数组进行降序排序
sort_desc(scores, len);
printf("排序前:");
print_array(scores, len);
// 插入新同学的成绩
int new_score = 85;
int i;
for (i = 0; i < len; i++) {
if (new_score > scores[i]) {
break;
}
}
for (int j = len - 1; j >= i; j--) {
scores[j + 1] = scores[j];
}
scores[i] = new_score;
len++;
// 输出排序后的数组
printf("排序后:");
print_array(scores, len);
return 0;
}
```
这个程序首先定义一个大小为 10 的整型数组 `scores`,用来存储 9 位同学的成绩。然后定义一个 `sort_desc()` 函数,用来对数组进行降序排序。排序算法使用的是简单选择排序。同时,还定义了一个 `print_array()` 函数,用来输出数组元素。
接着,在主函数中,调用 `sort_desc()` 函数对数组进行降序排序,并使用 `print_array()` 函数输出排序前的数组。
然后,定义一个新同学的成绩 `new_score`,并使用 `for` 循环找到需要插入的位置。找到位置后,使用 `for` 循环将插入位置后面的元素往后移一位,然后将新同学的成绩插入到指定位置。最后,更新数组长度。
最后,再次使用 `print_array()` 函数输出排序后的数组。注意,在插入新同学的成绩时,因为数组长度增加了 1,所以需要将循环条件改为 `i < len`。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)