| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 815 人关注过本帖
标题:帮忙看一个进制转换程序
取消只看楼主 加入收藏
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
帮忙看一个进制转换程序
//把一个十进制整数化成n进制数(用递归的方法)
void  f(int i,int n);
#include<stdio.h>
int main()
{
        int i,n;
        printf("请输入一个int型的十进制整数:");
        scanf("%d",&i);
        printf("请输入要转换的进制:");
        scanf("%d",&n);
        printf("\n该数的二进制数为:");
        f(i,n);
        printf("\n");
return 0 ;

}

//递归函数
void f(int i,int n)
{  char bit[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        int p;
        if(n==0)
        return ;
        f(i/n,n);
        p=i%n;
        printf("%c",bit[p]);
}
我在linux运行,结果总是段错误,是不是递归调用太多,栈溢出了?
搜索更多相关主题的帖子: include return 二进制 十进制 
2012-07-26 00:06
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 2楼 w995612220
代码还可以,就是比如转成十六进制的时候不行,因为没有ABCDEF,10是用A表示的,所以代码还是错的。我怀疑我代码错误是因为我重复初始化char bit[].不过还是感谢
2012-07-26 09:12
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 3楼 qq3439819
等于最初那个余数
2012-07-26 09:13
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 6楼 embed_xuel
就是二楼没有用ABCDEF表示10,11......,不能进行十六进制转换
2012-07-26 11:11
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 9楼 我乃新手
对,我那句是写倒了, 不过我改了之后,还是不能执行,编译是没问题的,执行时总是提示段错误,我怀疑是不是栈溢出了
2012-07-26 12:22
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 8楼 jtx0329
它是从最后一个余数开始打印出的。
2012-07-26 12:23
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 13楼 LShang
对啊,看来我马虎了,多谢了
2012-07-26 18:15
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 12楼 w995612220
谢谢了,我写错了那判断条件是i==0,马虎了
2012-07-26 18:28
z767900438
Rank: 1
等 级:新手上路
帖 子:17
专家分:8
注 册:2012-7-25
收藏
得分:0 
回复 14楼 embed_xuel
知道了,大意了,写错了判断条件,谢谢了
2012-07-26 18:29
快速回复:帮忙看一个进制转换程序
数据加载中...
 
   



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

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