// 1028. List Sorting.cpp: 主项目文件。 #include "stdafx.h" #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N=100003; typedef struct Stu{ char id[7],name[9]; int score; }Stu; Stu stu[N]; int version; bool cmp(Stu m1,Stu m2){ if(version==1) return strcmp(m1.id,m2.id)<0; else if(version==2){ if(strcmp(m1.name,m2.name)!=0) return strcmp(m1.name,m2.name)<0; else return strcmp(m1.id,m2.id)<0; } else{ if(m1.score!=m2.score) return m1.score<m2.score; else return strcmp(m1.id,m2.id)<0; } } int main() { int n; scanf("%d%d",&n,&version); for(int i=0;i<n;i++) scanf("%s%s%d",stu[i].id,stu[i].name,&stu[i].score); sort(stu,stu+n,cmp); for(int i=0;i<n;i++) printf("%s %s %d\n",stu[i].id,stu[i].name,stu[i].score); return 0; }
![](https://img2024.cnblogs.com/blog/35695/202407/35695-20240713070336838-1837943664.jpg)