题意

给你s1,s2两个字符串,求s1中有多少个s2

代码

#include<stdio.h>
#include<string.h>
int t,len1,len2,pos,ok,ans;
char s1[],s2[];
int main()
{
scanf("%d",&t);
while(t--)
{
memset(s1,,sizeof(s1));
memset(s2,,sizeof(s2));
ok=;
ans=;
scanf("%s%s",s1,s2);
len1=strlen(s1);
len2=strlen(s2);
int i=;
while(i<len1&&ok)
{ //找到s1的i位置开始 s2第一次出现的位置
pos=strstr(s1+i,s2)-s1-i;
if (pos<) ok=;
else
{
ans++;
i+=pos+len2;
}
}
printf("%d\n",ans);
}
return ;
}

  

05-10 23:22
查看更多