#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
typedef struct Student{
string id;//学号
string name; //姓名
int grade; // 成绩
}Stu;
Stu students[100000];
bool cmpId(Stu a, Stu b)
{
return a.id < b.id;
}
bool cmpName(Stu a, Stu b)
{
if(a.name != b.name)
{
return a.name < b.name;
}
else
return a.id <b.id;
}
bool cmpGrade(Stu a, Stu b)
{
if(a.grade != b.grade)
{
return a.grade <b.grade;
}
else
return a.id < b.id;
}
void mySort(int n, int c)
{
switch(c)
{
case 1:
sort(students,students+n,cmpId);
break;
case 2:
sort(students,students+n,cmpName);
break;
case 3:
sort(students,students+n,cmpGrade);
break;
default:
break;
}
}
int main()
{
//N记录条数 C排序的列号
int N ,C;
int count =0;
int i,j;
while(cin >> N && 0!= N)
{
count ++;
cin >> C;
for(i =0; i <N; i++)
{
// scanf("%s %s %d",students[i].sno ,students[i].name ,&students[i].grade);
cin >> students[i].id >>students[i].name >>students[i].grade ;
}
mySort(N,C);
cout << "Case " << count << ":" << endl;
for(j =0; j <N; j++)
{
cout <<students[j].id << " " <<students[j].name << " " <<students[j].grade <<endl;
}
}
return 0;
}
/**************************************************************
Problem: 1023
User: itswyy
Language: C++
Result: Accepted
Time:800 ms
Memory:5460 kb
****************************************************************/
题目1023:EXCEL排序
最新推荐文章于 2019-05-10 15:33:59 发布