#include
#include
int main()
{
char s1[100][100];
int a[1000];
int b[1000];
char s2[100][100];
int n;
int i;
char temp1[100][100];
char temp2[100][100];
char temp3[100][100];
char temp4[100][100];
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
scanf("%s",&s1[i]);
scanf("%d",&b[i]);
scanf("%s",&s2[i]);
}
for(i=0;i<n;i++)
{
int k=i+1;
while(k<n)
{
int j;
for(j=0;j<strlen(s1[k])||j<strlen(s1[i]);j++)
{
if((s1[i][j]-s1[k][j])>0)
{
strcpy(temp3[k],s1[i]);
strcpy(temp4[i],s1[k]);
strcpy(s1[k],temp3[k]);
strcpy(s1[i],temp4[i]);
strcpy(temp1[k],s2[i]);
strcpy(temp2[i],s2[k]);
strcpy(s2[k],temp1[k]);
strcpy(s2[i],temp2[i]);
int t=b[i];
b[i]=b[k];
b[k]=t;
break;
}
else if((s1[i][j]-s1[k][j])<0)
break;
}
k++;
}
}
int k=1;
for(i=0;i<n;i++)
{
if(s1[i][0]=='C'&&s1[i][1]=='h'&&s1[i][2]=='i'&&s1[i][3]=='n'&&s1[i][4]=='a')
continue;
printf("%d %s %d %s\n",k,s1[i],b[i],s2[i]);
k++;
}
for(i=0;i<n;i++)
{
if(s1[i][0]=='C'&&s1[i][1]=='h'&&s1[i][2]=='i'&&s1[i][3]=='n'&&s1[i][4]=='a')
{
printf("%d %s %d %s\n",k,s1[i],b[i],s2[i]);
k++;
}
}
}
return 0;
}
按照国家名字的英文字母顺序来出场。请编写一个计算机程序实现国家名字的排序(升序),中国(China)在最后一个
输入描述:
多组输入,其中每组输入的第一行表示参加国家数 n(占一行),下面 n 行是国家的报名信息(序号、国家名称、参加人数、所属大洲)
输出描述:
按国家名字的字母序输出信息(东道主国家名字最后输出)。
样例输入:
5
1 France 123 Europe
2 Russia 254 Europe
3 Japan 235 Asia
4 Germany 185 Europe
5 China 560 Asia
样例输出:
1 France 123 Europe
4 Germany 185 Europe
3 Japan 235 Asia
2 Russia 254 Europe
5 China 560 Asia