简单字符串排序之单词

include <bits/stdc++.h>
using namespace std;

typedef struct//定义结构体方便后面快排;

{

char a[110];
}qq;

bool cmp(qq r,qq t)

{

return strcmp(r.a,t.a)<0;
}

int main()

{

qq b[11000];

int n;

scanf("%d",&n);

for(int i=0;i<n;i++)

{

   scanf("%s",&b[i].a);
}

getchar();//吸收回车;

char m[110];

scanf("%s",&m);

int chang=strlen(m);

sort(b,b+n,cmp);

for(int i=0;i<n;i++)

{

   int j;

 for(j=0;j<chang;j++)

 {

     if(b[i].a[j]!=m[j])

     {

         break;

     }

 }

 if(j==chang)//代表前缀相同;

 {

     printf("%s\n",b[i].a);

 }
}

return 0;
}

//这个题在别的平台wa了好多次,最后在洛谷上交ac了,很迷。 //前缀可以是全部吗?比如aaa的前缀可以是aaa吗?自己想哈哈

posted @ 2018-06-04 21:41  勿忘安己  阅读(373)  评论(0编辑  收藏  举报