3 11 1001110110 101 110010010010001 1010 110100010101011
3 0 3
程序代码:
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 int main() { 5 int N; 6 cin>>N; 7 while(N--) { 8 string s,a,b; 9 cin>>a>>b; 10 int at =0,i=0,len; 11 while((i=b.find(a,i))!=(string::npos)) { 12 at++; 13 i++; 14 } 15 cout<<at<<endl; 16 } 17 }
注解:
i=b.find(a,i) //在字符串b中查找字符串a从b字符中第i个元素开始查找,返回为int型的数值从新赋值给i,string::npos是标准库的string容器属性。返回字符存放位置。 这个东西是一个容器,它将字符串分红一个一个来存储。while((i=b.find(a,i))!=(string::npos)) { at++; //计算器 i++; } //对b中字符串逐次与a比较直到结束