数据结构实验之串二:字符串匹配
Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
给定两个字符串string1和string2,判断string2是否为string1的子串。
Input
输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。(string1和string2大小不超过100字符)
Output
对于每组输入数据,若string2是string1的子串,则输出"YES",否则输出"NO"。
Sample Input
abc
a
123456
45
abc
ddd
Sample Output
YES
YES
NO
Hint
Source
赵利强
#include <stdio.h>
#include <string.h>
char s[101] , ss[101];
int main()
{
int n , m ,i ,j , k;
while(~scanf("%s" , s))
{
n = strlen(s);
getchar();
scanf("%s" , ss);
m = strlen(ss);
for (i = 0 ; i < n ; i++)
{
k = 1;
if (s[i] == ss[0])
{
j = i + 1;
int p ;
k = 2;
for (p = 1 ; p < m ; p++)
{
if (s[j] == ss[p])
{
j++;
k = 2;
}
else
{
k = 0;
break;
}
}
}
if (k == 2)
break;
}
if (k == 2)
printf("YES\n");
else if (k == 1)
printf("NO\n");
}
return 0;
}