zoukankan      html  css  js  c++  java
  • OpenJudge计算概论-字符串排序

    /*======================================================================
    字符串排序
    总时间限制: 1000ms 内存限制: 65536kB
    描述
    参考整数排序方法,设计一种为字符串排序的算法,将字符串从小到大输出
    输入
    第一行为测试数据组数t, 后面跟着t组数据。每组数据第一行是n,表示这组数据有n行字符串,接下来是要排序的n行字符串。每行字符串的字符个数不会大于200, n < 100。
    输出
    对于每组数据,输出排好序的字符串,每组输出后要多输出一个空行
    样例输入
    2
    2
    Hello
    World
    4
    I
    Love
    C
    Language!
    样例输出
    Hello
    World
    
    C
    I
    Language!
    Love


    思路:
    对t组数据的每一组,可以输入整组数据到二维的char数组(注意:二维的char数组的a[i]相当于第i行的首地址,所以可以gets(a[i]))
    输入一组数据后对其排序,可以考虑用任何一种排序,下面代码使用选择排序。 ========================================================================
    */
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int t,n;
     6     int k,i,j,m;
     7     char a[101][201],temp[201];
     8     freopen("5.in","r",stdin);
     9     //freopen("result.out","w",stdout);
    10     scanf("%d",&t);
    11     for(k=0;k<t;k++)
    12     {
    13         scanf("%d",&n);
    14         getchar();//接收上一行scanf的回车符 
    15         for(i=0;i<n;i++)
    16             gets(a[i]);//scanf("%s",a[i]);无法接收含有空格的字符串,所以这个题用scanf会Wrong Answer。 
    17         //下面是选择排序
    18         for(i=0;i<n-1;i++)
    19         {
    20             m=i;
    21             for(j=i+1;j<n;j++)
    22             {
    23                 if(strcmp(a[j],a[m])<0)
    24                 {
    25                     m=j;
    26                 }
    27             }
    28             if(i!=m)//这里交换两行字符串
    29             {
    30                 strcpy(temp,a[i]);
    31                 strcpy(a[i],a[m]);
    32                 strcpy(a[m],temp);
    33             }
    34         }
    35         //下面输出结果
    36         for(i=0;i<n;i++)
    37             printf("%s
    ",a[i]);
    38         if(k!=t-1) printf("
    ");/**/
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    java-mybaits-00503-延迟加载
    java-mybaits-00502-案例-映射分析-一对一、一对多、多对多
    java-mybaits-00501-案例-映射分析-订单商品数据模型
    java-mybaits-00402-Mapper-动态sql-if、where、foreach、sql片段
    数据结构与算法实验题7.1 M 商人的求救
    HDOJ 1075
    HDOJ 1856
    HDOJ 3790
    HDOJ 1869
    HDOJ 1870
  • 原文地址:https://www.cnblogs.com/huashanqingzhu/p/3503798.html
Copyright © 2011-2022 走看看