字符串排序的算法,将字符串从小到大输出 样例输入 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; }
时间: 2024-10-29 08:21:39