读书人

一道递归函数的有关问题

发布时间: 2012-04-06 12:22:24 作者: rapoo

一道递归函数的问题
一道作业题:编写一个递归函数convert(),实现功能:将一个字符串按逆序存放;在主函数中调用这个函数(提示:可借助cin的特点完成)
我的递归思路:
if(cin>>a) \\判断是否有效输入
convert(a); \\调用原函数
然后return或者赋值。这样就可以将字符串逆序存放了。
纠结了很长时间,尝试了很多方法:string,字符数组,字符指针,就是不能实现。
是不是我递归思路错了?(其他比如cin>>convert()调用原函数的方法)
还是可以用我的思路做,那应该怎么具体实现呢?
最好string,字符数组、指针都说一下,
还有可以用getchar()做吗?
初学者,不知道是否说清楚了,求帮助啊。
PS:附上我没用递归的代码
[code=C/C++][/code]
#include <iostream>
#include <string>
using namespace std;
int main()
{string convert(string a);
string a;
cout<<"please enter several character:"<<endl;
cin>>a;
a=convert(a);
cout<<a;
return 0;
}

string convert(string a)
{string b=" ";
int n=int(a.size());
for(int i=0;i<n;i++)
b[i]=a[n-i-1];
return b;}
[code=C/C++][/code]


[解决办法]

探讨

引用:
这种?

C/C++ code


#include <iostream>
using namespace std;

void Convert(const char *str)
{
if (*str != '\0')
{
Convert(str + 1);
cout << *str;
}
}

int ma……

这样的我也想过……

读书人网 >C++

热点推荐