编程论坛
注册
登录
编程论坛
→
C++教室
C++中的递归函数实现(看起来容易,但实现起来比较困难)
dsj_2
发布于 2008-09-27 16:13, 1192 次点击
各位编程高手和大侠,小弟问大家一个问题: 将n位整型数转换成字符串,并且要求用递归函数实现。这个问题看起来好象挺简单的,但是我怎么也写不出这个递归函数。哪位大侠能给我实现一下,感激不尽!
5 回复
#2
无缘今生
2008-09-27 17:05
提示一下:使用辗转相除
#3
ml232528
2008-09-27 23:00
#include<iostream>
using namespace std;
void getit(int x,char* p);
int main()
{
int x=12345;
char p[10]="";
getit(x,p);
cout<<p<<endl;
getchar();
}
void getit(int x,char* p)
{
*p++=x%10+48;
if(x/10)getit(x/10,p);
}
上面错了 今天改正
#include<iostream>
using namespace std;
void getit(int x,char* p);
int main()
{
int x=12345;
char p[10]="";
getit(x,p);
cout<<p<<endl;
getchar();
}
void getit(int x,char* p)
{
int i=0,y=x;
while(y=y/10){i++;}
p[i]=x%10+48;
if(x/10)getit(x/10,p);
}
[[it] 本帖最后由 ml232528 于 2008-9-28 09:05 编辑 [/it]]
#4
dsj_2
2008-09-29 04:23
非常感谢,这个思路我就是没有想到,真是高手,小弟佩服,还望今后多赐教!
#5
kevin88
2008-10-02 01:41
回复 3# ml232528 的帖子
恩,谢了,偷师了!
1