#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct node
{
char num[20];
char name[20];
int s;
}a[100010];
int cmp1(const void *a ,const void *b)
{
struct node*c=(struct node*)a;
struct node*d=(struct node*)b;
return strcmp(c->num,d->num);
}
int cmp2(const void *a,const void*b)
{
struct node*c=(struct node*)a;
struct node*d=(struct node*)b;
if(strcmp(c->name,d->name)!=0)//注意这里,比较用strcmp函数
return strcmp(c->name,d->name);
else
return strcmp(c->num,d->num);
}
int cmp3(const void *a,const void*b)
{
struct node*c=(struct node*)a;
struct node*d=(struct node*)b;
if(c->s!=d->s)
return c->s-d->s;
else
return strcmp(c->num,d->num);
}
int main()
{
int n,m,t=1,i;
while(scanf("%d%d",&n,&m),n!=0)
{
for(i=0;i<n;i++)
{
scanf("%s%s%d",a[i].num,a[i].name,&a[i].s);
}
printf("Case %d:\n",t++);
if(m==1)
{
qsort(a,n,sizeof(a[0]),cmp1);
for(i=0;i<n;i++)
printf("%s %s %d\n",a[i].num,a[i].name,a[i].s);
}
else if(m==2)
{
qsort(a,n,sizeof(a[0]),cmp2);
for(i=0;i<n;i++)
printf("%s %s %d\n",a[i].num,a[i].name,a[i].s);
}
else if(m==3)
{
qsort(a,n,sizeof(a[0]),cmp3);
for(i=0;i<n;i++)
printf("%s %s %d\n",a[i].num,a[i].name,a[i].s);
}
}
return 0;
}
hdu 1862
最新推荐文章于 2018-11-24 19:57:00 发布