文章

34

粉丝

0

获赞

353

访问

7.0k

头像
EXCEL排序 题解:
P1338 浙江大学机试题
发布于2026年3月9日 19:01
阅读数 108

#include <bits/stdc++.h>
using namespace std;

struct Student{
    char id[10];
    char name[10];
    int score;
}Stu[100000];

bool CmpAsc(Student a,Student b){
    return strcmp(a.id,b.id)<0;
}
bool CmpnameDesc(Student a,Student b){
    if (strcmp(a.name,b.name)==0) return strcmp(a.id,b.id)<0;
    return strcmp(a.name,b.name)<0;
}
bool CmpscoreDesc(Student a,Student b){
    if (a.score==b.score) return strcmp(a.id,b.id)<0;
    return a.score<b.score;
}

int main(){
    int N,C;
    while(scanf("%d %d",&N,&C)!=EOF){
        printf("Case:\n");
        if(N==0) break;
        for(int i=0;i<N;i++){
            scanf("%s %s %d",&Stu[i].id,Stu[i].name,&Stu[i].score);
        }
        if(C==1){
            stable_sort(Stu,Stu+N,CmpAsc);
        }
        if(C==2){
            stable_sort(Stu,Stu+N,CmpnameDesc);
        }
        if(C==3){
            stable_sort(Stu,Stu+N,CmpscoreDesc);
        }
        fo...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发