题目1023:EXCEL排序---------Case后面的是count,不是C
#include<stdio.h> #include<algorithm> #include<cstring> using namespace std; struct student { char num[10]; char name[10]; int grade; }s[100002]; int cmp1(student s1,student s2)//case 1 按照学号递增 { return strcmp(s1.num,s2.num)<0; } int cmp2(student s1,student s2)//case 2 姓名的非递减字典 { if(strcmp(s1.name,s2.name)==0) return strcmp(s1.num,s2.num)<0; else return strcmp(s1.name,s2.name)<0; } int cmp3(student s1,student s2)//case3 { if(s1.grade==s2.grade) return strcmp(s1.num,s2.num)<0; else return s1.grade<s2.grade; } int main() { int N,C; int count=0; while(scanf("%d %d",&N,&C)!=EOF) { count++; if(N==0 && C==0) return 0; int i; for(i=0;i<N;i++) scanf("%s %s %d",s[i].num,s[i].name,&s[i].grade); switch(C) { case 1:{ sort(s,s+N,cmp1); break; } case 2:{ sort(s,s+N,cmp2); break; } case 3:{ sort(s,s+N,cmp3); break; } } printf("Case %d:\n",count); for(i=0;i<N;i++) printf("%s %s %d\n",s[i].num,s[i].name,s[i].grade); } return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步