九度1023

来源:互联网 发布:狗镇 知乎 编辑:程序博客网 时间:2024/06/02 06:56
#include<stdlib.h>#include<stdio.h>#include<string>#include<cstring>#include<algorithm>#include<math.h>using namespace std;typedef struct{    char name[20],num[20];    int mark;}student;bool cmp1(student a,student b){    int temp=strcmp(a.num,b.num);    if(temp!=0)    {        return temp<0;    }}bool cmp2(student a,student b){    int temp=strcmp(a.name,b.name);    if(temp!=0)    {        return temp<0;    }    else    {        int temp2=strcmp(a.num,b.num);        if(temp2!=0)        {            return temp2<0;        }    }}bool cmp3(student a,student b){    if(a.mark!=b.mark)    {        return a.mark<b.mark;    }    else    {        int temp2=strcmp(a.num,b.num);        if(temp2!=0)        {            return temp2<0;        }    }}int main(){    int n,c,count=0,i;    while(scanf("%d %d",&n,&c)!=EOF&&n!=0&&c!=0)    {        count++;        student stu[n];        for(i=0;i<n;i++)        {            scanf("%s %s %d",&stu[i].num,&stu[i].name,&stu[i].mark);        }        if(c==1)        {            sort(stu,stu+n,cmp1);        }        else if(c==2)        {            sort(stu,stu+n,cmp2);        }        else if(c==3)        {            sort(stu,stu+n,cmp3);        }        printf("Case %d:\n",count);        for(i=0;i<n;i++)        {            printf("%s %s %d\n",stu[i].num,stu[i].name,stu[i].mark);        }    }    return 0;}

0 0