码迷,mamicode.com
首页 > 编程语言 > 详细

Openjudge-计算概论(A)-字符串排序

时间:2015-02-19 21:50:58      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:

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

C
I
Language!
Love
思路:这题可以把它们全部输入到一个二维数组里面去,再判断数字与字符串,我用的是另一种,逐个判断,排序,输出就得了。
代码如下:
 1 #include<stdio.h>
 2 #include<string.h> 
 3 void sort(char array[][202],int n)//排序函数
 4 {
 5     char temp[202];
 6     int i,j,k;
 7     for(i=0;i<n-1;i++)
 8     {
 9         k=i;
10         for(j=i+1;j<n;j++)
11             if(strcmp(array[k],array[j])>0)
12             k=j;
13         if(k!=i)
14         {
15             strcpy(temp,array[i]);   //字符串交换顺序(和数组一样一样的,不解释)
16             strcpy(array[i],array[k]);
17             strcpy(array[k],temp);
18         }
19     }
20 }
21 int main()
22 {
23     char str[202][202];
24     int i,j,k=0,n,o;
25     scanf("%d",&o);    
26     while(k!=o)
27     {
28         scanf("%d",&n);
29         for(i=0;i<n;i++)
30         {
31             scanf("%s",str[i]);//输入N个字符串
32         }
33         sort(str,n);//对输入的字符串排序
34         for(i=0;i<n;i++)//输出 
35         {
36             printf("%s\n",str[i]);
37         }           
38         k++;
39     }    
40     return 0;
41 }

 

 

Openjudge-计算概论(A)-字符串排序

标签:

原文地址:http://www.cnblogs.com/geek-007/p/4296300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!