c++请你设计一个程序,完成如下功能:
将一个含有空格和符号的完整句子中的每一个单词进行翻转,而句子的整体顺序 不变,空格与符号也保持不变 。
输入描述
一行字符串,表示输入的句子。
输出描述
一行,该行包含单词反转后的句子。
样例输入 1
Hello World
样例输出 1
olleH dlroW
样例输入 2
I love China.
样例输出 2
I evol anihC.
c++请你设计一个程序,完成如下功能:
将一个含有空格和符号的完整句子中的每一个单词进行翻转,而句子的整体顺序 不变,空格与符号也保持不变 。
输入描述
一行字符串,表示输入的句子。
输出描述
一行,该行包含单词反转后的句子。
样例输入 1
Hello World
样例输出 1
olleH dlroW
样例输入 2
I love China.
样例输出 2
I evol anihC.
以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
以下是一个简单的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;
}
该程序首先将输入的句子分割成单词流,然后对每一个单词进行翻转操作。最后,它将翻转后的单词组合成句子并输出。这个程序考虑了句子的空格和符号,并保持了它们的原始位置不变。