C语言编写学生成绩排序——数组的应用 在班级成绩管理时,通常会进行成绩的排序。我们这个任务即完成随机十名同学成绩从小到大的排序并输出。
时间: 2024-02-01 22:13:26 浏览: 82
好的,以下是C语言代码实现:
```c
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10 //学生人数
void bubble_sort(int a[], int n); //冒泡排序函数声明
int main()
{
int i;
int score[N]; //存放学生成绩的数组
srand((unsigned)time(NULL)); //设置随机数种子
//生成10个随机数作为学生成绩
for(i=0; i<N; i++)
{
score[i] = rand()%101;
printf("%d ", score[i]);
}
printf("\n");
bubble_sort(score, N); //调用冒泡排序函数进行排序
printf("排序后的成绩为:\n");
//输出排序后的成绩
for(i=0; i<N; i++)
{
printf("%d ", score[i]);
}
printf("\n");
return 0;
}
void bubble_sort(int a[], int n) //冒泡排序函数定义
{
int i, j, temp;
for(i=0; i<n-1; i++)
{
for(j=0; j<n-1-i; j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
```
实现思路:
首先定义了一个宏常量N表示学生人数,用数组score存放10个学生成绩。然后使用srand函数设置随机数种子,使用rand函数生成10个随机数作为学生成绩,并输出到屏幕上。
接着调用bubble_sort函数进行冒泡排序,将学生成绩从小到大排序。最后再次输出排序后的成绩即可。
冒泡排序函数的实现比较简单,就是依次比较相邻两个数的大小,如果前面的数比后面的数大,则交换它们的位置,直到所有数都按从小到大的顺序排列。
阅读全文