数据结构顺序表-7-6 单词逆置
·
7-6 单词逆置
分数 10
全屏浏览
切换布局
作者 usx程序设计类课程组
单位 绍兴文理学院
输入一个可能包含若干(至少1个)单词的句子(可以假设每个单词之间有且仅有一个空格,标点符号视为单词的组成部分),输出每个单词逆置后的英文句子(参看样例输出)。
输入格式:
首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入一个字符串(长度不超过80),表示英文句子。
输出格式:
对于每组测试,输出每个单词逆置后的英文句子。
输入样例:
1
emoclew era uoY
输出样例:
welcome are You
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
// 函数用于翻转单个单词
string reverseWord(const string& word) {
string reversedWord = word;
int start = 0;
int end = reversedWord.length() - 1;
while (start < end) {
swap(reversedWord[start], reversedWord[end]);
start++;
end--;
}
return reversedWord;
}
int main() {
int T;
cin >> T;
// 处理T组测试数据
while (T--) {
string sentence;
getline(cin, sentence);
// 处理第一行输入数字后的换行符影响
if (sentence.empty()) {
getline(cin, sentence);
}
stringstream ss(sentence);
string word;
string result = "";
// 按空格分割单词,处理并拼接
while (ss >> word) {
string reversedWord = reverseWord(word);
result += reversedWord + " ";
}
// 去掉最后多余的空格
result = result.substr(0, result.length() - 1);
cout << result << endl;
}
return 0;
}
更多推荐
所有评论(0)