本文主要是介绍九度考研真题 浙大 2007-浙大1023:EXCEL排序 排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//1023:EXCEL排序#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
struct stu{
char nu[10];
char name[10];
int score;
}stud[100100];
bool cmp1(stu A,stu B){
int tmp=strcmp(A.nu,B.nu);
if(tmp!=0) return tmp<0;
}
bool cmp2(stu A,stu B){
int tmp1=strcmp(A.name,B.name);
if(tmp1==0)
{
int tmp=strcmp(A.nu,B.nu);
if(tmp!=0) return tmp<0;
}
else return tmp1<0;
}
bool cmp3(stu A,stu B){
if(A.score!=B.score) return A.score<B.score;
else if(A.score==B.score) {
int tmp=strcmp(A.nu,B.nu);
if(tmp!=0) return tmp<0;
}
}
int main()
{
int N;
int C;
int num=0;
while(cin>>N&&N!=0)
{
cin>>C;num++;
for(int i=0;i<N;i++)
{
cin>>stud[i].nu>>stud[i].name>>stud[i].score;
}
if(C==1){
sort(stud,stud+N,cmp1);
}
else if(C==2){
sort(stud,stud+N,cmp2);
}
else {
sort(stud,stud+N,cmp3);
}
cout<<"Case"<<" "<<num<<":"<<endl;
for(int i=0;i<N;i++) cout<<stud[i].nu<<" "<<stud[i].name<<" "<<stud[i].score<<endl;
}
}
这篇关于九度考研真题 浙大 2007-浙大1023:EXCEL排序 排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!