字符串查找
字符串查找
Time Limit:1000MS Memory Limit:65536K
Total Submit:73 Accepted:24
Description
请编制程序实现下面的功能:统计一个子字符串在另一个字符串中出现的次数。
Input
有多组数据,每组两行,两行输入的都是字符串。 字符串中字符没有限制,如第一行第一个字符是#时表示输入结束。
Output
每组只输出一个整数,其单独成行,该整数代表第二个字符串在第一个字符串中出现的次数。
Sample Input
asd asasdfg asd as zx67 asd mklo as #
Sample Output
6
Hint
输入数据的格式是:每行的宽度均小于80个字符。
View Code
#include<iostream>
using namespace std;
int main()
{
char a[1001],b[1001];
int i,j;
while(gets(a)!=NULL)
{
if(a[0]=='#') break;
gets(b);
int L1=strlen(a);
int L2=strlen(b);
int sign=0 , flag=0;
i=sign,j=0;
while(i<L1 && j<L2)
{
if(a[i] == b[j])
{
i++;
j++;
if(j==L2)
{
flag++;
j=0;
i=sign+1;
sign=i;
}
}
else
{
j=0;
sign++;
i=sign;
}
}
cout<<flag<<endl;
}
return 0;
}