Description
在第二个串中找第一个串
Input
多组输入,每组两个字符串,以文件尾结束
Output
对于每组输入,如果在第二个串中找到第一个串则输出Yes,否则输出No
Sample Input
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter
Sample Output
Yes
No
Yes
No
Solution
简单字符串匹配
Code
#include<stdio.h>
#include<string.h>
int main()
{
int i,j,len1,len2,flag;
char s1[100002],s2[100002];
while(scanf("%s",s1)!=EOF)
{
scanf("%s",s2);
flag=0;
len1=strlen(s1);
len2=strlen(s2);
if(len2>=len1)//第二个串不能比第一个串短
{
j=0;
for(i=0;i<len1;i++)//对于串一的每个字符在串二中找匹配
{
for(;j<len2;j++)
if(s2[j]==s1[i])
{
flag++;
j++;
break;
}
}
if(flag==len1)//串一字符全部匹配
printf("Yes\n");
else//串一字符不全匹配
printf("No\n");
}
else//串一比串二长,显然不满足条件
printf("No\n");
}
return 0;
}