1 条题解
-
0
自动搬运
来自洛谷,原作者为

chen_zhe
Aya 敲可爱的~搬运于
2025-08-24 21:07:47,当前版本为作者最后更新于2025-05-28 13:09:06,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
欢迎报名洛谷网校,期待和大家一起进步!
本题考察字符串。
对于此类有不定个数的读入,我们可以使用
while (cin >> s),每次读入一个“以空格分隔”的字符串 。因为读到的最后一个单词后面带着句号,因此在读入的时候,我们要检查 的最后一个字符。如果是句号,就把它去掉,同时知道这是最后一个单词,准备退出循环。
去掉句号可以使用
pop_back函数,例如,s.pop_back()即可直接去掉最后一个字符。你也可以使用substr函数。假设字符串s的长度为len,那么使用s = s.substr(0, len-1)也可去除最后一个字符。接着,使用打擂台法比较字符串的长度即可完成本题。
参考代码:
while (cin >> s) { bool end = false; // 如果最后一个字符是 '.', 就把它去掉,并标记结束 int len = s.size(); if (s[len-1] == '.') { s = s.substr(0, len-1); // 这一句话可以换成:s.pop_back(),注意不是 s = s.pop_back(); end = true; } // 比较长度,更新最长单词 if (s.size() > ans.size()) ans = s; if (end) break; // 遇到句号,跳出循环 }
- 1
信息
- ID
- 11813
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者