简单字符串排序之单词
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吗?自己想哈哈