文章

5

粉丝

0

获赞

5

访问

196

头像
EXCEL排序 题解:
P1338 浙江大学机试题
发布于2026年2月12日 16:37
阅读数 42

#include <bits/stdc++.h>
using namespace std;
struct stu{
    string no;
    string name;
    int score;
};

bool compare_1(stu a,stu b){
    return a.no<b.no;
}
bool compare_2(stu a,stu b){
    if(a.name==b.name)
        return a.no<b.no;
    return a.name<b.name;
}
bool compare_3(stu a,stu b){
    if(a.score==b.score)
        return a.no<b.no;
    return a.score<b.score;
}

int main(){
    string no,name;
    int N,C,score;
    while(cin>>N&&N!=0&&cin>>C){
        stu stus[N];
        for(int i=0;i<N;i++){
            cin>>no>>name>>score;
            stus[i]=stu{no,name,score};
        }
        if (C==1)
            sort(stus,stus+N,compare_1);
        else if(C==2)
            sort(stus,stus+N,compare_2);
        else if(C==3)
            sort(stus,stus+N,compare_3);
        cout<<"Case:"<<endl;
        for(int i=0;i<N;i++)
            cout<<stus[i...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发