1.结构体 struct stu{int id;string name;float grade; }; 2.结构体数组的排序 sort算法如果是非自定义类型可以缺省,默认升序排序,但自定义类型必须自己重写比较规则,因为系统没法知道你怎么比较 sort(首元素地址,尾元素下一位地址,排序规则); #pragma once #include <iostream> #include <algorithm> #include <string> using namespace std; struct stu{int id;string name;float grade; }; stu s[100]; int n; bool cmp(stu left,stu right){//按学号升序排序,学号相等的按成绩比if(left.id==right.id){return left.grade>right.grade;}elsereturn left.id<right.id; } void text1_01(){cin>>n;for(int i=1;i<=n;i++){cin>>s[i].id>>s[i].name>>s[i].grade;}sort(s+1,s+n+1,cmp);//没有缺省的默认升序排序,因为自定义类型需要重写比较规则for(int i=1;i<=n;i++){cout<<s[i].id<<" "<<s[i].name<<" "<<s[i].grade<<endl;} }