文章
10
粉丝
399
获赞
14
访问
100.8k
该题逻辑上很简单。我用c++。
典型的string(c++)的应用。两层循环:外层是移动,内层是匹配;
#include<iostream>
#include<string>
using namespace std;
int main(){
string t,p;
while(cin>>t>>p){
int sum=0;
int lt= t.length();//这里注意,如果是strlen函数应该转化为char str[];
int lp= p.length();
for(int j=0;j<=(lt-lp);j++){
int i;
for(i=0;i<lp;i++){
if(p[i]!=t[i+j])break;
}
if(i==lp)sum++;//这里的判定是必须的,如果直接写在里面,不太行。
}
cout<<sum<<endl;
}
return 0;}
登录后发布评论
点个赞,建议用代码高亮插件,便于大家阅读