您的位置:首页 > 运维架构

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

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

C
I
Language!
Love
思路:这题可以把它们全部输入到一个二维数组里面去,再判断数字与字符串,我用的是另一种,逐个判断,排序,输出就得了。
代码如下:


#include<stdio.h>
#include<string.h>
voidsort(chararray[][202],intn)//排序函数
{
chartemp[202];
inti,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(array[k],array[j])>0)
k=j;
if(k!=i)
{
strcpy(temp,array[i]);//字符串交换顺序(和数组一样一样的,不解释)
strcpy(array[i],array[k]);
strcpy(array[k],temp);
}
}
}
intmain()
{
charstr[202][202];
inti,j,k=0,n,o;
scanf("%d",&o);
while(k!=o)
{
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",str[i]);//输入N个字符串
}
sort(str,n);//对输入的字符串排序
for(i=0;i<n;i++)//输出
{
printf("%s\n",str[i]);
}
k++;
}
return0;
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: