Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
118199 | 彭士宝 | 单词翻转 | C++ | Accepted | 1 MS | 276 KB | 782 | 2025-04-26 10:49:09 |
#include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string sentence; getline(cin, sentence); // 读取整行输入 int n = sentence.length(); int start = 0; // 单词的起始位置 // 遍历字符串,找到每个单词并翻转 for (int i = 0; i <= n; ++i) { if (i == n || sentence[i] == ' ') { // 到达单词的末尾或字符串的末尾 if (i > start) { // 翻转单词 reverse(sentence.begin() + start, sentence.begin() + i); } if (i < n) { // 如果不是字符串的末尾,跳过空格 start = i + 1; } } } // 输出结果 cout << sentence << endl; return 0; }