求助 20分

P1308 [NOIP2011 普及组] 统计单词数

[AC](https://www.luogu.com.cn/record/121453698) 代码,可以自己看看(带注释) ``` #include<iostream> #include<string> using namespace std; int main(){ string a,s=""; //s为空 getline(cin,a); //改为cin string b; getline(cin,b); int c=0; int d[10000]; for(int i=0;i<b.size();i++){ if(b[i]>=65&&b[i]<=90)b[i]+=32; //这里97是小写字母a,大写Z的ascii码是90,改完后就不会RE } for(int i=0;i<a.size();i++){ if(a[i]>=65&&a[i]<=90)a[i]+=32; } //cout<<a<<endl<<b<<endl; for(int i=0;i<b.size();i++){ if(b[i]==' '){ //cout<<s<<endl<<a<<endl; if(s==a){ c++; d[c]=i-s.size(); //cout<<i<<endl; } s=""; continue; } s+=b[i]; } if(c>0){ cout<<c<<" "; cout<<d[1]; } else cout<<-1; return 0; } ``` 点关注,不迷路@[Justskr](/user/772284)
by liu_le_chen @ 2023-08-18 19:21:21


你这思路好像不对,应该是判断到第一次空格的时候把它压到一个新的字符串里面去,然后第二次判断到空格就对比要找的字符串并且开始下一轮的判断,如果一样就++,不一样就清空之前压字符进去的字符串然后继续判断下一个,建议写do while。(第一个不用判断) @[Justskr](/user/772284) 以上是具体思路(求一关)
by liu_le_chen @ 2023-08-18 19:22:30


@[liulechen](/user/1037273) 那我哪里错了? 正确的思路我知道,但我想知道我的思路哪错了
by Justskr @ 2023-08-18 19:33:13


有些时候,不带注释的代码是真的看不懂
by liu_le_chen @ 2023-08-18 19:42:02


建议养成写注释的习惯@[Justskr](/user/772284)
by liu_le_chen @ 2023-08-18 19:42:40


哦, 我知道我哪错了
by Justskr @ 2023-08-18 19:44:22


@[liulechen](/user/1037273) 感谢你的发言 本来我写注释了,但以为编码的原因,注释被卡丢了,导致我也有点看不懂,才问的
by Justskr @ 2023-08-18 19:45:56


|