qsort怎么去给一个结构数组排序?
/*已知一个学生的信息有两项:学生姓名,学生成绩,从键盘上输入10个学生的信息,
然后按学生成绩从小到大排序(排序方法不限),最后输出排序过的学生信息。
*/
#include <stdio.h>
#include <math.h>
#define NumOfStudents 2
struct stu{
char name[7];
int chengji;
}students[NumOfStudents];
int cmp(const void *a,const void *b)
{
return (struct stu *)a->chengji - (struct stu *)b->chengji;
}
int main()
{
int i;
for (i=0;i<NumOfStudents;i++)
{
fflush(stdin);
scanf("%s",&students[i].name);
scanf("%d",&students[i].chengji);
}
qsort(students,NumOfStudents,sizeof(students[0]),cmp);
for (i=0;i<NumOfStudents;i++)
{
printf("%s\n",students[i].name);
}
}