OJ 275

版权声明:沉迷代码,难以自拔 https://blog.csdn.net/qq_33846054/article/details/50926318

搜索字符串
Input
输入两个字符串a,b(字符串长度不超过1000)
Output
输出在a中出现b的次数(每个结果占一行)
Sample Input
abcdefsdabcbacbbc
abc
aabbaabbaabbaa
abbaa
Sample Output
2
3
Hint

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define MAX 1010

int main()
{
    char a[MAX],b[MAX];
    while(gets(a)!=NULL)
    {
        gets(b);
        int sum=0,i=0,j=0;
        int lena,lenb;
        lena=strlen(a);
        lenb=strlen(b);
        while(i<lena)
        {
            if(a[i]==b[j])
            {
                i++;
                j++;
            }
            else
            {
                i=i-j+1;
                j=0;
            }
            if(j>=lenb)
            {
                sum++;
                i=i-j+1;
                j=0;
            }
        }
        printf("%d\n",sum);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_33846054/article/details/50926318
OJ