题意
给你s1,s2两个字符串,求s1中有多少个s2
代码
#include<stdio.h> #include<string.h> int t,len1,len2,pos,ok,ans; char s1[1000005],s2[15]; int main() { scanf("%d",&t); while(t--) { memset(s1,0,sizeof(s1)); memset(s2,0,sizeof(s2)); ok=1; ans=0; scanf("%s%s",s1,s2); len1=strlen(s1); len2=strlen(s2); int i=0; while(i<len1&&ok) { //找到s1的i位置开始 s2第一次出现的位置 pos=strstr(s1+i,s2)-s1-i; if (pos<0) ok=0; else { ans++; i+=pos+len2; } } printf("%d ",ans); } return 0; }