讨论一下这两道题
AcWing 770. 单词替换
AcWing 774. 最长单词
770 用了sstream
774 可以不用sstream
关键是774只有一行的输入,while(cin) 就解决了
770是一行输入后面还接着两行其他输入,就只能拆开了
下面是740代码
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string s;
getline(cin, s);
string a, b;
cin >> a >> b;
stringstream ssin(s);
string str;
while (ssin >> str)
{
if (str == a) cout << b << ' ';
else cout << str << ' ';
}
puts("");
return 0;
}
下面是774代码
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int res;
string res_str;
vector<string> A;
int main()
{
string s;
getline(cin, s);
stringstream ssin(s);
string str;
while (ssin >> str)
{
if (str.back() == '.') str.pop_back();
if (str.size() > res)
{
res = str.size();
A.push_back(str);
}
}
cout << A.back() << endl;
return 0;
}
y总教的
#include <iostream>
using namespace std;
string s;
string res;
int main()
{
while (cin >> s)
{
if (s.back() == '.') s.pop_back();
if (s.size() > res.size()) res = s;
}
cout << res << endl;
return 0;
}