1:用结构体数组读取学号、姓名、成绩等数据,按成绩从高到低排序后输出
描述
成绩结构体排序
上课时跟着敲的代码
//结构体-学生信息表
#include <stdio.h>
#include <string.h>
#define N (30 + 5)
//定义一个结构体
typedef struct student{
int no; //学号
char name[30]; //姓名
float score; //成绩
}Stu;
void swap(Stu *s1,Stu *s2);
//冒泡排序
void bubbleSort(Stu s[],int n);
int main(){
//文件读取数据
freopen("原始成绩.txt","r",stdin); //文件重定向
Stu stu[N]; //结构体数组
int n;
for(n = 0;;n++){
int t = scanf("%d%s%f",&stu[n].no,stu[n].name,&stu[n].score);
if(t == -1) break;
}
bubbleSort(stu,n);
for(int i = 0;i < n;i++){
printf("%2d %d %8s %.1f\n",i + 1,stu[i].no