gyvfhv 2024-11-09 16:04 采纳率: 66.7%
浏览 20
已结题

单词翻转(标签-c++|关键词-字符串)

c++请你设计一个程序,完成如下功能:

将一个含有空格和符号的完整句子中的每一个单词进行翻转,而句子的整体顺序 不变,空格与符号也保持不变 。

输入描述

一行字符串,表示输入的句子。

输出描述

一行,该行包含单词反转后的句子。

样例输入 1

Hello World
样例输出 1

olleH dlroW
样例输入 2

I love China.
样例输出 2

I evol anihC.

  • 写回答

1条回答 默认 最新

  • 无疆76 2024-11-09 16:05
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    以下是一个简单的C++程序,可以实现你所描述的功能:

    #include <iostream>
    #include <string>
    #include <sstream>
    #include <algorithm>
    
    std::string reverseWord(const std::string& word) {
        std::string reversedWord = word;
        std::reverse(reversedWord.begin(), reversedWord.end());
        return reversedWord;
    }
    
    int main() {
        std::string sentence;
        std::getline(std::cin, sentence); // 获取整行输入,包括空格和符号等
        std::istringstream iss(sentence); // 将输入的句子按空格分隔为单词流
        std::string word;
        std::string reversedSentence = ""; // 存储翻转后的单词的字符串
        while (iss >> word) { // 遍历每个单词并翻转它
            reversedSentence += reverseWord(word) + " "; // 在反转的单词后添加空格以恢复句子格式
        }
        std::cout << reversedSentence << std::endl; // 输出结果,注意移除最后一个多余的空格(如果有的话)
        return 0;
    }
    

    该程序首先将输入的句子分割成单词流,然后对每一个单词进行翻转操作。最后,它将翻转后的单词组合成句子并输出。这个程序考虑了句子的空格和符号,并保持了它们的原始位置不变。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 创建了问题 11月9日