编写程序用递归法实现将一个整数n转化成字符串
1.转化过程通过编写递归函数实现。2.在主函数中输入要转化的n,切n的位数不确定,可以是任意整数。...
1.转化过程通过编写递归函数实现。
2.在主函数中输入要转化的n,切n的位数不确定,可以是任意整数。 展开
2.在主函数中输入要转化的n,切n的位数不确定,可以是任意整数。 展开
2个回答
2013-11-27
展开全部
#ifndef myitoa_h
#define myitoa_h
bool myitoa(long n,char chars[],int arrlen) //参数: 数字n,存储转换后数字的数组,数组长度。
{
static int out=0;
static int length=1;
static int count=0;
count++;
if(count==1)
{
for(int i =10;n/i>1;i*=10)
length++;
out=0;
if(length<arrlen)
*(chars+length)='\0';
}
if(n<0)
{
length++;
*chars='-';
out++;
n=-n;
}
if(length>arrlen)
{
count--;
return false;
}
int temp;
if(n<10 && n >0)
{
*(chars+out)=char(n+'0');
out++;
}
else if(n!=0)
{
temp=n%10;
myitoa(n/10,chars,arrlen);
*(chars+out)=char(temp+'0');
out++;
}
count--;
return true;
}
#endif
#define myitoa_h
bool myitoa(long n,char chars[],int arrlen) //参数: 数字n,存储转换后数字的数组,数组长度。
{
static int out=0;
static int length=1;
static int count=0;
count++;
if(count==1)
{
for(int i =10;n/i>1;i*=10)
length++;
out=0;
if(length<arrlen)
*(chars+length)='\0';
}
if(n<0)
{
length++;
*chars='-';
out++;
n=-n;
}
if(length>arrlen)
{
count--;
return false;
}
int temp;
if(n<10 && n >0)
{
*(chars+out)=char(n+'0');
out++;
}
else if(n!=0)
{
temp=n%10;
myitoa(n/10,chars,arrlen);
*(chars+out)=char(temp+'0');
out++;
}
count--;
return true;
}
#endif
推荐于2018-03-26
展开全部
#include<stdio.h>
#include<conio.h>
int myfun( int n, char*p )
{
int i=0
if(n>10)
{
i = myfun(n/10, p );
}
*(p+i) = n%10;
i++;
return i;
}
main()
{
int n;
char a[20];
printf( "input n:\n");
scanf("%d",&n);
int i=my( n,a);
a[i] = '\0';
printf("n=%s\n",a);
getch();
}
#include<conio.h>
int myfun( int n, char*p )
{
int i=0
if(n>10)
{
i = myfun(n/10, p );
}
*(p+i) = n%10;
i++;
return i;
}
main()
{
int n;
char a[20];
printf( "input n:\n");
scanf("%d",&n);
int i=my( n,a);
a[i] = '\0';
printf("n=%s\n",a);
getch();
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询