一道递归函数的问题
一道作业题:编写一个递归函数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]
[解决办法]