gpt4 book ai didi

c++ - 颠倒句子中的词序

转载 作者:太空宇宙 更新时间:2023-11-04 15:01:09 24 4
gpt4 key购买 nike

我在创建一个颠倒句子顺序的函数时遇到了困难。我读过很多关于如何递归反转字母的函数,我已经成功地做到了,但我不想反转单词中的字母。我想颠倒句子中单词的位置。

例子是:

这是一个句子。

句子。 a是这个

到目前为止,这是我的代码。如何从整个句子的字母顺序反转到句子中单词的放置顺序?

当前代码的输出将提供:!dlroW olleH

void reverse(const std::string str)
{
int length = str.size();
if(length > 0)
{
reverse(str.substr(0,length-1));
std::cout << str[0];

}
}

编辑:附加问题。如果这是一个字符数组,逻辑会有所不同吗?

最佳答案

使用 std::istringstream 和辅助函数来简化您的逻辑。下面的程序适合我。

#include <sstream>
#include <iostream>

void reverse(std::istringstream& stream)
{
std::string word;
if ( stream >> word )
{
reverse(stream);
std::cout << word << " ";
}
}

void reverse(const std::string str)
{
std::istringstream stream(str);
reverse(stream);
std::cout << std::endl;
}

int main(int argc, char** argv)
{
reverse(argv[1]);
return 0;
}

关于c++ - 颠倒句子中的词序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com