这道题目身为普及一下难度,也是不虚其名啊!确实是一道大水题,大家如果想练字符串,就可以去用char或string刷一刷!完全就是一道纯模拟:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<string>
#include<iostream>
using namespace std;
#define file(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout)
string s[10010];
char T[10010];
int len[10010];
int main(){
int i,j,k,n,m;
cin>>n;
for(i=1;i<=n;i++)
cin>>s[i];
sort(s+1,s+n+1);
cin>>T;
int lent=strlen(T);
for(i=1;i<=n;i++){
if(s[i].size()<lent)continue;
int flag=1;
for(j=0;j<lent;j++)
if(s[i][j]!=T[j]){
flag=0;break;
}
if(flag)cout<<s[i]<<endl;
}
return 0;
}
以上为string版本,如果有char版本可以提供在留言处!