对数组进行排序(可以是任意数据类型)
执行结果
对结构体进行排序
运行结果
代码备份
#include <stdio.h>
#include <stdlib.h>
struct Student {
char name[10];
int Chinese;
int Math;
int English;
};
Student students[3]= {
{"Tom",97,68,45},{"Jerry",100,32,88},{"Harry",78,88,78}
};
void display(){
for(int i=0;i<3;i++){
printf("%s\t",students[i].name);
printf("%d\t",students[i].Chinese);
printf("%d\t",students[i].Math);
printf("%d\n",students[i].English);
}
}
int cmp(const void* a,const void* b) {
Student* pa=(Student*)a;
Student* pb=(Student*)b;
return pa->Chinese-pb->Chinese; //注意进行类型强制转换
}
int main() {
display();
qsort(students,3,sizeof(Student),cmp);
printf("\n");
display();
return 0;
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容