字符串反转 时间限制:C/C++1000MS, 其他语言2000MS 内存限制:C/C++256MB, 其他语言512MB 难度: 简单 描述 小C很喜欢倒着写单词,现在给你一行小C写的文本,你能把每个单词都反转并输出它们吗? 输入描述 输入包含多组测试样例。第一行为一个整数T,代表测试样例的数量,后面跟着T个测试样例。 每个测试样例占一行,包含多个单词。一行最多有1000个字符。 输出描述 对于每一个测试样例,你应该输出转换后的文本。
时间: 2024-03-17 15:39:52 浏览: 119
好的,这是一个字符串反转的问题,我可以用 C++ 代码来解决它,如下所示:
```cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
int T;
cin >> T;
cin.ignore(); // 忽略换行符
while (T--) {
string s;
getline(cin, s); // 读入整行字符串
int start = 0, end = 0;
while (end <= s.length()) {
if (end == s.length() || s[end] == ' ') {
reverse(s.begin() + start, s.begin() + end); // 反转单词
start = end + 1;
}
end++;
}
cout << s << endl; // 输出反转后的字符串
}
return 0;
}
```
这段代码中,我们首先读入测试样例的数量 T,然后进入一个 while 循环,每次读入一行字符串 s,并对其中的每个单词进行反转,最后输出整行字符串。在反转单词时,我们可以使用 C++ 的标准库函数 reverse,也可以手动交换字符的位置。
希望这个代码可以帮到你!
阅读全文