代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct Stu{
char name[100]; //名字
char xue[100]; //学号
int c; //成绩
}stu[10010];
int comp(const void* a,const void* b)
{
struct Stu *aa = (struct Stu *)a;
struct Stu *bb = (struct Stu *)b;
return ((aa->c)-(bb->c)); //aa->c为结构体的成员,bb->c也为结构体的成员
}
int main()
{
int n;
int i,j;
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
scanf("%s%s%d",&stu[i].name,&stu[i].xue,&stu[i].c);
}
printf("\n");
qsort(stu,n,sizeof(stu[0]),comp); //参数1:结构体数组名,个数,首地址的字符数,自定义比较函数名
for(i=0;i<n;i++)
printf("%s %s %d\n",stu[i].name,stu[i].xue,stu[i].c);
return 0;
}