63:验证子串
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入
输入两个字符串, 每个字符串占一行,长度不超过200且不含空格。
输出
若第一个串s1是第二个串s2的子串,则输出(s1) is substring of (s2)
否则,若第二个串s2是第一个串s1的子串,输出(s2) is substring of (s1)
否则,输出 No substring。
样例输入
abc
dddncabca
样例输出
abc is substring of dddncabca
#include<stdio.h>
#include<string.h>
int main()
{
int i,k,l,p,o,sum=0,sun=0,lol=0;
char a[202],b[202];
gets(a);
gets(b);
l=strlen(a);
p=strlen(b);
if(l>p)
{
for(i=0;;i++)
{
if(a[i]==b[0])
{
for(o=i,k=0;k<p,o<l;k++,o++)
{
if(a[o]==b[k])
sum++;
}
if(sum==p)
{
printf("%s is substring of %s ",b,a);
break;
}
else
sum=0;
}
if(i==l)
{
printf("No substring");
break;
}
}
}
else if(l<p)
{
for(i=0;;i++)
{
if(b[i]==a[0])
{
for(o=i,k=0;k<l;o++,k++)
{
if(b[o]==a[k])
lol++;
}
if(lol==l)
{
printf("%s is substring of %s",a,b);
break;
}
else
lol=0;
}
if(i==p)
{
printf("No substring");
break;
}
}
}
else if(l==p)
{
for(i=0;i<l;i++)
{
if(a[i]==b[i])
sun++;
}
if(sun==l)
printf("%s is substring of %s ",a,b);
else
printf("No substring");
}
return 0;
}