代码
#include <stdio.h>
struct student{
int number;
char name[128];
int chinese;
int math;
int english;
};
int main(int argc, const char *argv[])
{
struct student s[10]={0};
struct student temp;
for (int i=0;i<10;i++)
{
scanf("%d %s %d %d %d",&s[i].number,s[i].name,&s[i].chinese,&s[i].math,&s[i].english);
}
printf("排序之前--------\n");
for(int i=0;i<10;i++)
{
printf("%d %s %d %d %d\n",s[i].number,s[i].name,s[i].chinese,s[i].math,s[i].english);
}
printf("按照数学成绩排序--------\n");
for(int i=1;i<10;i++)
{
for (int j=0;j<10-i;j++)
{
int max=s[j].math;
if (max<s[j+1].math)
{
temp=s[j+1];
s[j+1]=s[j];
s[j]=temp;
}
}
}
printf("排序之后--------\n");
for(int i=0;i<10;i++)
{
printf("%d %s %d %d %d\n",s[i].number,s[i].name,s[i].chinese,s[i].math,s[i].english);
}
return 0;
}
效果: