为什么我自己下载数据测试点#2看起来输出与要求一致但是过不了
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct number
{
int length;
char big[11];
}num;
int compare(const void* e1,const void* e2)
{
num* p1=(num*)e1;
num* p2=(num*)e2;
if(p1->length==p2->length)
{
for(int i=0;i<p1->length;i++)
{
if(p1->big[i]>p2->big[i])
return -1;
else if(p1->big[i]<p2->big[i])
return 1;
}
}
else
{
if(p1->length>p2->length)
{
num x=*p1;
*p1=*p2;
*p2=x;
}
for(int i=0;i<p1->length;i++)
{
if(p1->big[i]>p2->big[i])
return -1;
else if(p1->big[i]<p2->big[i])
return 1;
}
for(int i=p2->length-1;i>=0;i--)
{
if(p2->big[i]>p1->big[0])
return 1;
else if(p2->big[i]<p1->big[0])
return -1;
}
}
return 0;
}
int main()
{
int n;
scanf("%d",&n);
num s[20];
for(int i=0;i<n;i++)
{
scanf("%s",&s[i].big);
s[i].length=strlen(s[i].big);
}
qsort(s,n,sizeof(s[0]),compare);
for(int i=0;i<n;i++)
printf("%s",s[i].big);
return 0;
}