前面几篇题解写的太烦了
其实就是一个提取子串的函数——substr
详细了解
substr(a,b)
a是字串的起始位,b是字串的长度
希望大家记住
用字符串数组读入,首先要排序,因为题目要求按字典序输出答案,然后枚举每个字符串,提取字串,与T比对,相同则输出(字符串或数组可以直接互相比较)
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int n;
string s[100007];
string t;
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>s[i];
cin>>t;
sort(s+1,s+n+1);//要求字典序升序
for(int i=1;i<=n;i++)
{
string x=s[i].substr(0,t.size());//提取子串
if(x==t)cout<<s[i]<<endl; //相同,输出
}
return 0;
}