18:验证子串
总时间限制:
1000ms
内存限制:
65536kB
描述
输入两个字符串,验证其中一个串是否为另一个串的子串。
输入
输入两个字符串, 每个字符串占一行,长度不超过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(){
char a[200],b[200];
gets(a);gets(b);
int x=strlen(a),y=strlen(b);
int i=0,j=0;
while(a[i]!='\0'){
if(a[i]==b[j]){
i++;
j++;
}
else{
i=i-j+1;
j=0;
}
if(j==y-1){
printf("%s is substring of %s",b,a);
return 0;
}
}
i=0;j=0;
while(b[i]!='\0'){
if(b[i]==a[j]){
i++;
j++;
}
else{
i=i-j+1;
j=0;
}
if(j==x-1){
printf("%s is substring of %s",a,b);
return 0;
}
}
printf("No substring");
return 0;
}