用C语言从键盘随机出入15个学生的成绩存储在数组中,并将学生成绩从高到低进行排序后输出。
时间: 2024-05-06 15:16:19 浏览: 103
下面是用C语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 15
int main()
{
int scores[N];
int i, j, temp;
// 从键盘随机输入15个学生成绩
srand(time(NULL));
for (i = 0; i < N; i++) {
scores[i] = rand() % 101;
printf("%d ", scores[i]);
}
printf("\n");
// 对学生成绩进行从高到低排序
for (i = 0; i < N - 1; i++) {
for (j = 0; j < N - i - 1; j++) {
if (scores[j] < scores[j + 1]) {
temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
// 输出排序后的学生成绩
for (i = 0; i < N; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
```
代码中使用了随机数生成函数`rand()`,需要引入头文件`stdlib.h`和`time.h`。`srand(time(NULL))`用于初始化随机数种子,保证每次运行程序随机生成的数不同。
排序使用了冒泡排序法,时间复杂度为O(N^2)。如果对时间有要求,可以使用其他更高效的排序算法,如快速排序、归并排序等。
阅读全文