首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

9度OnlineJudge之1023:EXCEL排序

2013-09-16 
九度OnlineJudge之1023:EXCEL排序题目描述:#include cstdio#include string#include vector#include

九度OnlineJudge之1023:EXCEL排序
题目描述:                        #include <cstdio>#include <string>#include <vector>#include <algorithm>using namespace std;struct Student{ string id; string name; int grade; };bool compare1(Student a,Student b){return a.id<b.id; }bool compare2(Student a,Student b){ if(a.name!=b.name) return a.name<b.name; else return a.id<b.id; }bool compare3(Student a,Student b){ if(a.grade!=b.grade) return a.grade<b.grade; else return a.id<b.id; }int main(){ int N,C; char Id[10]; char Name[10]; vector<Student> vec; int k=1; while(scanf("%d",&N)!=EOF) { vec.clear(); if(N==0) break; scanf("%d",&C); for(int i=1;i<=N;++i) { Student S; scanf("%s%s%d",Id,Name,&(S.grade)); S.id.assign(Id); S.name.assign(Name); vec.push_back(S); } if(C==1) sort(vec.begin(),vec.end(),compare1); if(C==2) sort(vec.begin(),vec.end(),compare2); if(C==3) sort(vec.begin(),vec.end(),compare3); printf("Case %d:\n",k); ++k; for(vector<Student>::iterator it=vec.begin();it!=vec.end();++it) printf("%s %s %d\n",(it->id).c_str(),(it->name).c_str(),it->grade); } //system("PAUSE"); return 0;}

热点排行