~~空格~~
by wangyuze123456 @ 2023-08-17 18:56:56
你这思路好像不对,应该是判断到第一次空格的时候把它压到一个新的字符串里面去,然后第二次判断到空格就对比要找的字符串并且开始下一轮的判断,如果一样就记录第一次的下标,然后++,不一样就清空之前压字符进去的字符串然后继续判断下一个,建议写do while。(第一个不用判断)
@[SevenYoshy](/user/677842) 以上是具体思路(求一关,试验过此方法完全正确)
by liu_le_chen @ 2023-08-17 19:03:41
关后将奉上代码
by liu_le_chen @ 2023-08-17 19:04:22
啊,对不起,你就是这个思路
by liu_le_chen @ 2023-08-17 19:05:22
代码如下:(@[SevenYoshy](/user/677842) )
```
#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;
}
```
by liu_le_chen @ 2023-08-17 19:08:40
感谢大佬帮助
我已奉上一关
by SevenYoshy @ 2023-08-22 09:37:27