对含有字符串的结构体用qsort排序,字符串过不去
struct student{
int no;
string name;
string sex;
int age;
int grade;
};
int cmp(const void *q1,const void *q2){
return (*(struct student*)q1).grade>(*(struct student*)q2).grade?1:-1;
}
int main(){
int n;
while(cin>>n){
student stu[n];
for(int i=0;i<n;i++){
cin>>stu[i].no>>stu[i].name>>stu[i].sex>>stu[i].age>>stu[i].grade;
}
qsort(stu,n,sizeof(stu[0]),cmp);
for(int i=0;i<n;i++){
cout<<stu[i].no<<' '<<stu[i].name<<' '<<stu[i].sex<<' '<<stu[i].age<<' '<<stu[i].grade<<endl;
}
}
return 0;
}