注册 登录
编程论坛 C++教室

C++中的递归函数实现(看起来容易,但实现起来比较困难)

dsj_2 发布于 2008-09-27 16:13, 1192 次点击
各位编程高手和大侠,小弟问大家一个问题: 将n位整型数转换成字符串,并且要求用递归函数实现。这个问题看起来好象挺简单的,但是我怎么也写不出这个递归函数。哪位大侠能给我实现一下,感激不尽!
5 回复
#2
无缘今生2008-09-27 17:05
提示一下:使用辗转相除
#3
ml2325282008-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_22008-09-29 04:23
非常感谢,这个思路我就是没有想到,真是高手,小弟佩服,还望今后多赐教!
#5
kevin882008-10-02 01:41
回复 3# ml232528 的帖子
恩,谢了,偷师了!
1