使用C语言编写从键盘输入10名学生的成绩数据,按成绩从高到低的顺序排列并输出。(用数组存放成绩数据)
时间: 2024-03-17 15:45:07 浏览: 72
编写程序,接收从键盘输入某班学生的成绩,对学生的成绩进行排序,最后把学生成绩、名次显示出来
5星 · 资源好评率100%
好的,这是一个经典的排序问题,可以使用多种排序算法来解决,比如冒泡排序、选择排序、插入排序、快速排序等等。下面我将为您提供一种使用选择排序实现的C语言代码示例。
```c
#include <stdio.h>
#define N 10
void selection_sort(int arr[], int n);
int main() {
int scores[N];
int i;
printf("请输入10个学生的成绩:\n");
for (i = 0; i < N; i++) {
scanf("%d", &scores[i]);
}
selection_sort(scores, N);
printf("按成绩从高到低的顺序排列:\n");
for (i = 0; i < N; i++) {
printf("%d ", scores[i]);
}
printf("\n");
return 0;
}
void selection_sort(int arr[], int n) {
int i, j, max_index, tmp;
for (i = 0; i < n - 1; i++) {
max_index = i;
for (j = i + 1; j < n; j++) {
if (arr[j] > arr[max_index]) {
max_index = j;
}
}
if (max_index != i) {
tmp = arr[i];
arr[i] = arr[max_index];
arr[max_index] = tmp;
}
}
}
```
你可以将这段代码复制到你的IDE中编译运行,然后输入10个学生的成绩进行测试。
阅读全文