gpt4 book ai didi

c++ - 我已经在C++中创建了一个函数来递归地反转字符串,但是如何使函数在以后打印endl?

转载 作者:行者123 更新时间:2023-12-02 10:01:57 26 4
gpt4 key购买 nike

这是在C++中。最初的提示是创建一个递归函数来反转一个字符串。该函数有效,但是我不确定在反转字符串之后如何在该函数中获取endl,因此在控制台中看起来不错。这有效:

string reverse(string str) {
if (str.size() == 1) {
return str;
}
string str2 = reverse(str.substr(1));
return str2 + str[0];
}

最佳答案

怎么办呢:

string str="Hello";
cout << reverse(str) << endl;

在这里,您将反转字符串,打印它,然后开始新的一行。

您可以通过使用最后一个字符索引在其中放置换行符,如下所示:
string reverse(string str, int length) {
if (str.size() == 1) {
return str;
}
string str2 = reverse(str.substr(1), length);
// if are at the last character, we just insert a newline after it
if(length == str2.length())
{
return str2 + str[0] + '\n';
}
return str2 + str[0];
}


int main()
{
string str = "Hello";
// we get position of last character
cout << reverse(str, str.length() -1);

return 0;
}

关于c++ - 我已经在C++中创建了一个函数来递归地反转字符串,但是如何使函数在以后打印endl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62144211/

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