标题:一个简单的十进制转二进制,八进制或者是十六进制的程序,到底为什么会出错 ...
只看楼主
civilherui
Rank: 2
来 自:陕西榆林
等 级:论坛游民
威 望:2
帖 子:67
专家分:97
注 册:2015-1-18
结帖率:100%
已结贴  问题点数:4 回复次数:3 
一个简单的十进制转二进制,八进制或者是十六进制的程序,到底为什么会出错啊?????
#include<stdio.h>
main()
{
    char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    int m;
    int i,j,base;
    char b[64];
    printf("please input m:");
    scanf("%d",&m);
    printf("please input base:");
    scanf("%d",&base);
    for(;m!=0;m=m/base)
    {
        i=m%base;
        j=0;
        b[j]=a[i];
        j++;
    }
    printf("transmite is based on:%d\n",base);
    printf("j=%d\n",j);
    for(--j;j>=0;j--)
    {
        printf("%c",b[j]);
    }
}
一个简单的十进制转二进制,八进制或者是十六进制的程序,到底为什么会出错啊?????
搜索更多相关主题的帖子: 十六进制 include please 二进制 八进制 
2015-02-05 14:29
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:2 
for(;m!=0;m=m/base)
    {
        i=m%base;
        j=0;   //这条语句是什么意思?为什么每次循环都把j赋值为0?
        b[j]=a[i];
        j++;
    }

总有那身价贱的人给作业贴回复完整的代码
2015-02-05 14:49
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:2 
    for(;m!=0;m=m/base)
    {
        i=m%base;
        //j=0;j每次都=0了,j++有什么意义?,j=0移到循环外即可。
        b[j]=a[i];
        j++;
    }

能编个毛线衣吗?
2015-02-05 14:58
civilherui
Rank: 2
来 自:陕西榆林
等 级:论坛游民
威 望:2
帖 子:67
专家分:97
注 册:2015-1-18
得分:0 
回复 2楼 embed_xuel
哦,突然明白错在哪了。
万分感谢。

我走向的将是机械、电子、编程的集成之路。
2015-02-05 14:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-441796-1-1.html




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

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