字符串排序

字符串排序的算法,将字符串从小到大输出

样例输入
2
2
Hello
World
4
I
Love
C
Language!
样例输出
Hello
World

C
I
Language!
Love
code:
#include<stdio.h>
#include<string.h>
int main()
{
    int t,n;
    int k,i,j,m;
    char a[101][201],temp[201];
    freopen("5.in","r",stdin);
    //freopen("result.out","w",stdout);
    scanf("%d",&t);
    for(k=0;k<t;k++)
    {
        scanf("%d",&n);
        getchar();//接收上一行scanf的回车符 
        for(i=0;i<n;i++)
            gets(a[i]);//scanf("%s",a[i]);无法接收含有空格的字符串,所以这个题用scanf会Wrong Answer。 
        //下面是选择排序
        for(i=0;i<n-1;i++)
        {
            m=i;
            for(j=i+1;j<n;j++)
            {
                if(strcmp(a[j],a[m])<0)
                {
                    m=j;
                }
            }
            if(i!=m)//这里交换两行字符串
            {
                strcpy(temp,a[i]);
                strcpy(a[i],a[m]);
                strcpy(a[m],temp);
            }
        }
        //下面输出结果
        for(i=0;i<n;i++)
            printf("%s\n",a[i]);
        if(k!=t-1) printf("\n");/**/
    }
    return 0;
}
上一篇:html5


下一篇:linq2db sqlite应用