当前位置: 代码迷 >> C语言 >> 请教:这程序怎么写?
  详细解决方案

请教:这程序怎么写?

热度:284   发布时间:2006-04-26 13:09:00.0
请教:这程序怎么写?
用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”。n的位数不确定,可以是任意位数的整数。
搜索更多相关的解决方案: 字符串  

----------------解决方案--------------------------------------------------------

long num;
char *num_char;
ltoa(num,num_char,10);
int num;
itoa(num,num_char,10);


----------------解决方案--------------------------------------------------------
看不太懂,呵呵,我是新手,请问能写的明白点吗?
----------------解决方案--------------------------------------------------------

这样就行了
void change(int n)
{ int i;
if(i=n/10)!=0)
change(i);
putchar(n%10+'0');
}


----------------解决方案--------------------------------------------------------

#include <stdio.h>
#include <string.h>
#include <math.h>

void convert(int num,char *str)
{
int len;
if(num/10>0)
convert(num/10,str);
len=strlen(str);
str[len]=num%10+'0';
}

main()
{
int num,i;
char str[5];
for(i=0;i<5;i++) /*初始化字符数组*/
str[i]='\0';
scanf("%d",&num);
if(num<0) /*对于负数的处理*/
{
str[0]='-';
num=abs(num);
}
convert(num,str);
puts(str);
}
兄弟这样行不行,见笑了!


----------------解决方案--------------------------------------------------------
以下是引用caiyuanzhang在2006-4-26 13:25:00的发言:
看不太懂,呵呵,我是新手,请问能写的明白点吗?

char *itoa(int value, char *string, int radix)
char *ltoa(long value, char *string, int radix)
将整形数value转换为其等价的字符串


----------------解决方案--------------------------------------------------------
谢谢大家的帮忙,,感觉懂了.呵呵....
----------------解决方案--------------------------------------------------------
好像大家都没用递归法阿...
----------------解决方案--------------------------------------------------------

大家都等着 “穿雨衣” 的 神vLinux飘飘 写一个


----------------解决方案--------------------------------------------------------
这个,好吧
----------------解决方案--------------------------------------------------------
  相关解决方案