思路
第一位加个空格
末尾的点也替换成空格
那么两个空格之间的长度就是单词的长度,记下索引和长度就能够遍历打印出来。
代码
#include<iostream>
#include<string>
using namespace std;
int main(){
int cnt=0, start, end, len, index;
string s;
getline(cin, s);
s = " " + s;
s.replace(s.find("."), 1, " ");
// 首尾find空格位置,end-start-1就是单词长度
int pos = 0;
start = s.find(" ", pos);
end = s.find(" ", start+1);
while(start != -1 && end != -1){
len = end - start - 1;
if(len > cnt){
cnt = len;
index = start+1;
}
pos = end-1;
start = s.find(" ", pos);
end = s.find(" ", start+1);
}
for(int i=index;i<cnt+index;i++){
cout << s[i];
}
return 0;
}