#include<stdio.h>
#define n 200
struct student
{
long num;
char name[20];
float score;
};
void main()
{
int i, j;
struct student stu[n + 1];
struct student *p_stu;
p_stu = stu+1;
for (i = 1; p_stu <= stu + n; p_stu++, i++){
printf("请输入第%d个学生的学号\n", i);
scanf("%d", &p_stu->num);
printf("请输入第%d个学生的姓名\n", i);
scanf("%s", p_stu->name);
printf("请输入第%d个学生的成绩\n", i);
scanf("%f",&p_stu->score);
}
//按照成绩从低祷告的顺序进行排序
for (i = 1; i <= n; i++){
for (j = 1; j <= n - 1; j++){
if (stu[j].score > stu[j + 1].score){
stu[0] = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = stu[0];
}
}
}
p_stu = stu + 1;
for (; p_stu <= stu + n; p_stu++){
printf("按照成绩从低祷告的顺序进行排序结果为:\n");
printf("学号:%d\t", p_stu->num);
printf("姓名:%s\t", p_stu->name);
printf("成绩:%g\n", p_stu->score);
}
p_stu = &stu[n];
printf("最高成绩为:\n");
printf("学号:%d\t", p_stu->num);
printf("姓名:%s\t", p_stu->name);
printf("成绩:%g\n", p_stu->score);
}