COJ 1371子串个数

[003]子串个数

Time Limit: 1000 ms     Memory Limit: 65536 KB
Total Submit: 154     Accepted: 108

Description
现有两个字符串,第一个是原串(串长不超过1000),另一个是要查找的子串(串厂不超过200),在原串中有多少个子串。

Input
输入包括两行,第一行是原串,第二行是子串,两个字符串都不包扩空格和回车。

Output
输出原串中共包括多少个子串。

Sample Input
fcwzhwzwzhcawz
wzh

Sample Output

思路:对字符串的处理永远不会结束……

#include<iostream>
#include<cstring>
#define M 1111
#define N 220
char a[M],b[N];
using namespace std;
void main()
{
	int i,j=0,m,n,sum=0;
	cin>>a>>b;
	m=strlen(a);
	n=strlen(b);
	for(i=0;i<m;i++)
	{
		if(b[j]==a[i])
		{	
			if(j==n-1) {sum++;j=0;}
			else j++;
		}
		else if(b[0]==a[i]) j=1;
		else j=0;
	}
	cout<<sum<<endl;
}

你可能感兴趣的:(COJ 1371子串个数)