描述 小C很喜欢倒着写单词,现在给你一行小C写的文本,你能把每个单词都反转并输出它们吗? 输入描述 输入包含多组测试样例。第一行为一个整数T,代表测试样例的数量,后面跟着T个测试样例。 每个测试样例占一行,包含多个单词。一行最多有1000个字符。 输出描述 对于每一个测试样例,你应该输出转换后的文本。 用例输入 1 3 olleh !dlrow I ekil .bulcmca I evol .mca 用例输出 1 hello world! I like acmclub. I love acm.C++实现
时间: 2024-03-17 14:44:03 浏览: 9
以下是用C++实现的代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int T;
cin >> T;
cin.ignore(); // 忽略换行符
while (T--) {
string line;
getline(cin, line);
stringstream ss(line);
vector<string> words;
string word;
while (ss >> word) {
reverse(word.begin(), word.end());
words.push_back(word);
}
// 输出反转后的单词
for (int i = 0; i < words.size(); i++) {
cout << words[i];
if (i != words.size() - 1) {
cout << " ";
}
}
cout << endl;
}
return 0;
}
```
首先读入测试样例的数量T,然后循环T次。对于每个测试样例,先读入一行字符串,然后用stringstream分割成单词。对于每个单词,用reverse函数反转它,并存入一个vector中。最后输出vector中的单词,注意单词之间需要加上空格。