问题标题: 酷町堂:1449哪错了?

0
0
已解决
wwwwww
wwwwww
中级守护
中级守护

题目链接: 酷町堂:1449

#include<iostream>

using namespace std;

string s1,s2;

bool flag=0;

int main(){

    getline(cin,s1);

    getline(cin,s2);

    int t=0,p,cnt=0;

    while(1){

    p=s1.find(s2,t);

    if(p==-1){

    break;

     }

    cnt++;

    t=p+1;

    }

    cout<<cnt;

    return 0;

}

可能错的地方:cnt

一定错的地方:我不知道flag加在哪里!!!!!
请帮帮我


1
已采纳
李宜和
李宜和
高级启示者
高级启示者
是这样的,先定义两个字符串(a,b)
  遍历a字符串,定义一个变量来寻查
代码实现:n=a.find(b,pos);
然后判断n,如果.....就记一个数,否则continue。
pos值更新为n+b字符串的长度
大功告成!

下面是完整代码:


略.....//此处定义变量
主函数内
略......//此处是具体代码

 

你的问题:

1)逻辑不清
2)没有遍历,用**循环,判断条件写错
3)下标有问题

@酷町扫地僧 

看看能不能为本蒟蒻申个精

0
0
0
0
我要回答