数字游戏 qsort

数字游戏

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int cmp(const void*_a,const void*_b)
{
    int i,j;
    char* a=(char*)_a;
    char* b=(char*)_b;
    /*if(strlen(a)==strlen(b))
    {
        return strcmp(a,b);
    }*/
    //else if(strlen(a)<strlen(b))
    //{
        char t1[400]="";
        char t2[400]="";
        int la,lb;
        la=strlen(a);
        lb=strlen(b);
        for(i=0;i<la;i++)
        {
            t1[i]=*(a+i);
        }
        for(j=0;j<lb;j++)
        {
            t1[i+j]=*(b+j);
        }
        for(i=0;i<lb;i++)
        {
            t2[i]=*(b+i);
        }
        for(j=0;j<la;j++)
        {
            t2[i+j]=*(a+j);
        }
        return strcmp(t1,t2);
   // }
}
int n;
char str[55][200];
int main()
{
    int i,j,k,l;
    while(scanf("%d",&n)&&n!=0)
    {
        memset(str,0,sizeof(str));
        for(i=0;i<n;i++)
        {
            scanf("%s",&str[i]);
        }
        qsort(str,n,sizeof(str[0]),cmp);
        for(i=n-1;i>=0;i--)
            printf("%s",str[i]);
        printf("\n");
    }
    return 0;
}


你可能感兴趣的:(数字游戏 qsort)