实验内容
有n名学生的信息(包括学号、姓名和成绩),编写函数实现按成绩由高到低的顺序输出学生的信息,要求使用结构体。
输入格式
输入一个正整数n(n<50),下面n行输入n个学生的信息,包括:学号、姓名、成绩。
输出格式
输出从高到低排序后的学生信息,包括:学号、姓名、成绩。
输入样例
3
101 Zhang 78
102 Wang 91
103 Li 85
输出样例
102 Wang 91
103 Li 85
101 Zhang 78
全部代码
#include<stdio.h>
struct Student {
long number;
char name[50];
int score;
} stu[50], temp;
int main() {
int n, i, j;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%ld", &stu[i].number);
scanf("%s", &stu[i].name);
scanf("%d", &stu[i].score);
}
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (stu[j].score > stu[i].score) {
temp = stu[j];
stu[j] = stu[i];
stu[i] = temp;
}
}
}
for (int i = 0; i < n; i++) {
printf("%ld %s %d\n", stu[i].number, stu[i].name, stu[i].score);
}
return 0;
}
总结
主要学习并熟练掌握结构体的使用方法,初学者要完全能够看懂结构体。