题目描述
在一个大雨倾盆的夜晚,在一条偏僻的路上,一个老人蹒跚地走着。这个时候迎面驶来一辆汽车,由于路滑,司机没能及时刹住刹车,悲剧发生了,事发后司机立刻驾车逃离现场…… 事后,警方立刻展开调查。在监控中,警方发现了那辆肇事的汽车。但不幸的是,车牌号码被溅起来的泥土挡住,只能看到一部分。但好在前方不远处有一个收费站,于是警方立即找来了那个收费站的记录。现在请你协助警方,在众多的车牌号码中找出可疑的车牌号码。
输入要求
第一行输入一个正整数n,表示有n个车牌号(来自收费站的记录)。 第二行输入一串字符,表示肇事汽车车牌的子串。 接下来的n行,每行表示一个车牌号码(来自收费站记录的车牌号)。(n<=100,每个车牌号长度不超过10)
输出要求
输出若干行,每行一个可疑的车牌号(包含肇事车子串的车牌号),按输入中出现的次序输出。如果没有发现可以的车牌,则输出"Can not find"。
输入样例
5 36 ZB2362 SA4452 JA5344 ZA6536 ZB5423
输出样例
ZB2362 ZA6536
代码模块
#include<stdio.h>
#include<string.h>
int main()
{
char s[100][101],str[100][101],sum[101];
int i,j,n,k=0,t,r=0,m;
scanf("%d\n",&n); //输入
gets(s[0]);
m=strlen(s[0]);
for(i=1;i<=n;i++)
{gets(s[i]);}
for(j=1;j<=n;j++) //判断模块
{
for(i=0;s[j][i]!='\0';i++)
{if(s[j][i]==s[0][r]) {r++;if(r==m) break;}}
if(r==m&&s[j][i-m+1]==s[0][0]) {strcpy(str[k],s[j]);k++;}
r=0;
}
if(k>0) //输出模块
{
for(j=0;j<k;j++)
puts(str[j]);
}
else printf("Can not find\n");
return 0;
}