题目大意:输入人名以及出生年份,从年轻到老输出名字
思路:水题,注意名字有空格
代码如下:
#include<string.h>
#include<stdio.h>
typedef struct
{
char name[300];
int year;
}ex;
int main()
{
int t,old,n,i,l;
char k[300];
ex a[300];
scanf("%d",&t);
while(t--)
{
memset(a,-1,sizeof(a));
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(k);
l=strlen(k);
old=k[l-1]-48+k[l-2]*10-480+k[l-3]*100-4800+k[l-4]*1000-48000;
k[l-5]=0;
a[old-1900].year=old;
strcpy(a[old-1900].name,k);
}
for(i=115;i>=0;i--)
{
if(a[i].year>=0)
printf("%s\n",a[i].name);
}
}
return 0;
}