| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 28017 人关注过本帖
标题:用递归法将一个整数n转换成字符串
只看楼主 加入收藏
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
 问题点数:0 回复次数:8 
用递归法将一个整数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 
2006-08-29 12:10
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

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

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


由于工作,N久都没来了!
2006-08-29 12:22
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
#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进制的递归程序,你可以参考一下。

由于工作,N久都没来了!
2006-08-29 12:27
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 
void convert(int n)  /*主要是这个函数不明白*/
{ int i;
if ((i=n/10)!=0) /*这个为什么除以10*/
convert(int n);
putchar(n%10+’0’); /*还有这句,特别是'0'是什么意思*/
}

只剩一年了………… 够了!
2006-08-29 16:07
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
楼主的函数没写好,
void convert(int n)
{
 int i;
 if ((i=n/10)!=0)
  convert(i);
 putchar(n%10+'0');
}
加'0'是把数字处理为字符。

对不礼貌的女生收钱......
2006-08-29 17:10
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 

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


只剩一年了………… 够了!
2006-08-29 18:26
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 

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

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

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


只剩一年了………… 够了!
2006-08-29 23:26
cwande
Rank: 2
等 级:新手上路
威 望:3
帖 子:333
专家分:0
注 册:2006-8-18
收藏
得分:0 
递归嘛,相当于一个栈

汗,都懒得写代码了.......... cheat了一个威望,哈.....
2006-08-30 00:03
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 
因为没学数据结构,刚刚查了一下栈的定义,明白了,多谢

只剩一年了………… 够了!
2006-08-30 09:21
快速回复:用递归法将一个整数n转换成字符串
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026744 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved