小 C 很喜欢倒着写单词,现在给你一行小 C 写的文本,你能把每个单词都反转并输出它们吗? 输入描述 输入包含多组测试样例。第一行为一个整数 T,代表测试样例的数量,后面跟着 T 个测试样例。 每个测试样例占一行,包含多个单词。一行最多有 1000 个字符。 用c++代码
时间: 2024-12-18 09:16:30 浏览: 16
当然可以,对于这个问题,你可以编写一个简单的C++程序来处理。这里是一个示例代码,它会接收一行字符串,然后逐个单词反转:
```cpp
#include <iostream>
#include <sstream>
#include <string>
std::string reverseWords(std::string s) {
std::istringstream iss(s);
std::string word;
std::ostringstream oss;
while (iss >> word) {
oss << word.substr(word.size() - 1, word.size()) << " ";
}
return oss.str().substr(0, oss.str().size() - 1); // 去掉最后一个空格
}
int main() {
int T;
std::cin >> T;
for (int i = 0; i < T; ++i) {
std::string inputLine;
std::getline(std::cin, inputLine);
std::cout << reverseWords(inputLine) << "\n";
}
return 0;
}
```
这个程序首先读取测试用例的数量T,然后对每一行输入进行处理。`reverseWords`函数通过istringstream将输入分割成单词,再用ostringstream将每个单词反转后拼接起来。
注意,这个代码假设单词之间只有一个空格分隔,并且不会有连续的空格或者标点符号。如果需要处理更复杂的格式,可能需要额外的预处理步骤。
阅读全文