一直七分ac不了 求大佬看看哪里错了

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;
} 

 

查看全部
qq_52371979
qq_52371979
2020/12/01 10:26
  • c++
  • 点赞
  • 收藏
  • 回答
    私信

5个回复