c语言冒泡排序从键盘输入20名学生成绩,从大到小排序,每行10成绩
时间: 2024-10-26 17:16:51 浏览: 9
C语言中的冒泡排序算法可以用于对一组数值进行排序,比如学生成绩。以下是基本步骤,用以从键盘输入20名学生的成绩,然后按降序(即从大到小)排列:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) { // 遍历所有元素
for (int j = 0; j < n - 1 - i; j++) { // 每次遍历都减少已排序部分
if (arr[j] < arr[j + 1]) { // 如果当前元素小于下一个
// 交换它们
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int num[20], size = 20;
printf("请输入20名学生的成绩:\n");
for (int i = 0; i < size; i++) {
scanf("%d", &num[i]);
}
bubbleSort(num, size);
printf("\n成绩从大到小排列如下:\n");
for (int i = 0; i < size; i++) {
printf("%d ", num[i]);
// 如果不是最后一个元素,每10个数换一行
if ((i % 10 == 9) || (i == size - 1)) {
printf("\n");
}
}
return 0;
}
```
在这个程序中,我们首先读取用户输入的20个成绩,然后使用冒泡排序算法将它们按照降序排列,最后按每行10个的成绩显示结果。
阅读全文