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;
}

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐