子序列个数

描述
输入两个字符串str1和str2,判断字符串str1包含字符串str2的个数,允许重叠。
例如:
01101010101
1010
输出3。

输入
分别输入两个字符串str1和str2,分别占一行。

输出
输出str1包含str2的个数。

样例

输入		输出
ababababac	3
abab 

代码

#include<stdio.h>
#include<string.h>
int main()
{
 char a[100],b[100],*p=a,*q=b;
 int c,t=0,z=0;
 scanf("%s",a);
 scanf("%s",b);
 c=strlen(b);
 while(*p!='\0')
 {
  int bfind=1,i=0;
        for(i=0;i<c;i++) //比较p指向的位置是否存在子串
        {
            if(p[i]!=q[i]||p[i]=='\0')   
   {
    bfind=0; 
    break; 
   }
        }
        if(bfind)
  {
   z++;
  } 
        p++;        //将p移动指向下一个字符
   }
 printf("%d\n",z);
 return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43823970/article/details/85528126