该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
struct Attender
{
char id[30];
char number[10000];
};
int main()
{
struct Attender shui[1000];
struct Attender temp;
int n,i,l[1000],j,t,s=0,k;
scanf("%d",&n);
for(i=0;i
{
scanf("%s",shui[i].id);
scanf("%s",shui[i].number);
l[i]=strlen(shui[i].number);
if(l[i]>s)
s=l[i];
}
for(i=0;i
{
if(l[i]
{
t=s-l[i];
for(j=t,k=0;j<=s;j++,k++)
shui[i].number[j]=shui[i].number[k];
for(j=0;j
shui[i].number[j]='0';
}
}
for(i=0;i
{
k=i;
for(j=i+1;j
{
if(strcmp(shui[j].number,shui[i].number)>0)
k=j;
if(strcmp(shui[j].number,shui[i].number)==0)
{
if(strcmp(shui[j].id,shui[i].id)<0)
k=j;
}
}
temp=shui[k];shui[k]=shui[i];shui[i]=temp;
}
for(i=0;i
printf("%s\n",shui[i].id);
}