问题标题: 酷町堂:4433

0
0
已解决
高子健
高子健
新手天翼
新手天翼
#include<bits/stdc++.h>
using namespace std;
int main(){
    string a,b;
    int cnt=0,c;
    cin>>a>>b;
    for(int i=0;i<a.size();){
        c=a.find(b,i);
    if(a.find(b,i)!=-1)
    cnt++;
        i+=c;
        i+=b.size();
    }
    cout<<cnt;
    return 0;
} 

0
已采纳
张岳恒
张岳恒
资深光能
资深光能

我来了

find函数不在循环里

查找之后

while循环判断c!=-1

计数器++;

find一下从第二个变量至c+1

输出计数器

0
张海棠
张海棠
中级守护
中级守护

@高子健   我把思路告诉你:

 

第一步:定义s和a(string),cnt,b(都等于0)(int)

 

第二步:输入s和a

 

第三步:把b赋值为s.find(a,0)

 

第四步:while,条件是b!=-1

 

第五步:把s赋值为s.substr(b+a.size(),s.size()-(b+a.size()))

 

第六步:cnt加1

 

第七步:把b赋值为s.find(a,0)

 

第八步:输出cnt

 

@高子健  希望你能AC  100分!加油!!

 

望采纳!!!

 

 

0
0
李明阳
李明阳
初级光能
初级光能

这题要用while(1)死循环来做

输出:

while(1){
        b=s.find(a,b);
        if(b!=-1){
            b++;
            cnt++;
        }
        if(b==-1){
            break;
        }
    }

注意两个要用getline输入

这是需要定义的东西:

string s,a;
    int cnt=0,b=0;

望采纳

谢谢

李明阳在2020-03-18 16:51:12追加了内容

最后在输出cnt

完美AC

我要回答