文章
52
粉丝
68
获赞
22
访问
11.5k
#include <bits/stdc++.h>
using namespace std;
struct SC{
string name;
int age;
int score;
SC():name(""),age(0),score(0){}
SC(string name,int age,int score):name(name),age(age),score(score){}
void print(){
cout<<name<<" "<<age<<" "<<score<<endl;
}
};
bool compare(SC a,SC b){
if(a.score==b.score){
if(a.name==b.name)return a.age<b.age;
else return a.name<b.name;
}else return a.score<b.score;
}
int main(){
int n;
while(cin>>n){
vector<SC>a(n);
for(int i=0;i<n;i++){
string name;
int age,score;
cin>>name>>age>>score;
a[i]=SC(name,age,score);
}
sort(a.begin(),a.end(),compare);
for(int i=0;i<n;i++){
a[i].print();
}
}
}
这里用了vector,需要无参构造方法取生成,你可以用push_back,写起来更简单
登录后发布评论
暂无评论,来抢沙发