Q:字符串排序
总时间限制: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
S:
#include<stdio.h> #include<string.h> int main() { int i,j,k; char sen[100][200],temp[200]; int n,t;//n组,t行 //freopen("1.in","r",stdin); scanf("%d",&n); for(i=0;i<n;i++)//输入第i组 { scanf("%d",&t); getchar();//接收回车 for(j=0;j<t;j++)//输入 第j行 { gets(sen[j]); } for(j=0;j<t-1;j++) { for(k=j;k>=0;k--) { if(strcmp(sen[k],sen[k+1])>0) { strcpy(temp,sen[k]); strcpy(sen[k],sen[k+1]); strcpy(sen[k+1],temp); } } } for(j=0;j<t;j++) { puts(sen[j]); } printf(" "); } return 0; }