typedef struct Student
{
unsigned long int id;
char name[21];
float score;
}STUDENT;
#define N 5
int main(void)
STUDENT st[]={ {2022001,"张三",55.5f},
{2022002,"李四",78.5f},
{2022003,"王五",88.8f}
{2022004,"小明",96.5f},
{2022005,"李华",69.5f}},st1;
for (int i=0;i<5;i++)
for (int j=0;j<5-i;j++)
if(st[j].score<st[j+1].score)
stl=st[j];
st[j]=st[j+1];
st[j+1]=st1;
}
printf("学号:%lu,姓名:%s,成绩:%1f\n”,st[i].id,st[i].name, st[i].score);
return 0;
}
#include <stdio.h>
#define N 5
typedef struct Student
{
unsigned long int id;
char name[21];
float score;
} STUDENT;
int main(void)
{
STUDENT st[] = {
{2022001, "张三", 55.5f},
{2022002, "李四", 78.5f},
{2022003, "王五", 88.8f},
{2022004, "小明", 96.5f},
{2022005, "李华", 69.5f},
}, st1;
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5 - 1 - i; j++)
{
if (st[j].score < st[j + 1].score)
{
st1 = st[j];
st[j] = st[j + 1];
st[j + 1] = st1;
}
}
}
for (i = 0; i < 5; i++)
{
printf("学号:%lu,姓名:%s,成绩:%1f\n", st[i].id, st[i].name, st[i].score);
}
return 0;
}
如果解决你的问题,还请采纳!