当前位置: 代码迷 >> C语言 >> 用递归法将一个整数n转换成字符串
  详细解决方案

用递归法将一个整数n转换成字符串

热度:851   发布时间:2006-08-29 12:10:54.0
用递归法将一个整数n转换成字符串

用递归法将一个整数n转换成字符串。例如输入483,应输出字符串“483”。N的位数 不确定,可以是任意位数的整数。

我在论坛里查过,不过里好像用到了指针,而我只学到了函数,在网上下到一个答案,但是看不懂,谁能给讲一下吗?

#include<stdio.h>
void convert(int n)  /*主要是这个函数不明白*/
{ int i;
if ((i=n/10)!=0)
convert(int n);
putchar(n%10+’0’);
}
main()
{
int number;
printf(“\nInput an integer:”);
scanf(“%d”,&number);
printf(“Output:”);
if (number<0)
{
putchar(‘-‘);
number=-number;
}
conert(number);
}

搜索更多相关的解决方案: 递归法  整数  字符  int  convert  

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

这个程序里我怎么没看到指针???

既然学到函数,阅读这个程序不该有问题,要不就是你没认真学。


----------------解决方案--------------------------------------------------------
#include <stdio.h>
void to_B (unsigned int num1);
int main ( void ){
unsigned int a;
printf ("Input the number :");
while (1==scanf ("%u",&a)){
to_B (a);
putchar ('B');
printf ("\nInput the number :");
}
return 0;
}
void to_B (unsigned int num1){
unsigned int x=0;
if (num1>0){
x=num1%2;
to_B(num1/2);
printf ("%u",x);
}
else{
if (num1%2)
putchar('1');
else
putchar('0');
}
return ;
}


这个是我以前写的10进制转2进制的递归程序,你可以参考一下。
----------------解决方案--------------------------------------------------------
void convert(int n)  /*主要是这个函数不明白*/
{ int i;
if ((i=n/10)!=0) /*这个为什么除以10*/
convert(int n);
putchar(n%10+’0’); /*还有这句,特别是'0'是什么意思*/
}

----------------解决方案--------------------------------------------------------
楼主的函数没写好,
void convert(int n)
{
 int i;
 if ((i=n/10)!=0)
  convert(i);
 putchar(n%10+'0');
}
加'0'是把数字处理为字符。
----------------解决方案--------------------------------------------------------

噢,终于看明白了,谢谢大家帮忙!!


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

不好意思,仔细看了一下又发现了一个不会的问题,因为初学,大家别见笑

比如:输入 123 根据这句 putchar(n%10+'0');

不应该输出 321 吗? 为什么会是倒序的?


----------------解决方案--------------------------------------------------------
递归嘛,相当于一个栈
----------------解决方案--------------------------------------------------------
因为没学数据结构,刚刚查了一下栈的定义,明白了,多谢
----------------解决方案--------------------------------------------------------
  相关解决方案