首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

一道递归函数的有关问题

2012-04-06 
一道递归函数的问题一道作业题:编写一个递归函数convert(),实现功能:将一个字符串按逆序存放;在主函数中调

一道递归函数的问题
一道作业题:编写一个递归函数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……

这样的我也想过……

热点排行