谁是凶手第一季:C语言十进制转二进制

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 14:41:16
C语言十进制转二进制 悬赏分:10 - 解决时间:2008-3-26 13:26
为什么输出是反的呢?#includevoid main(){int a=0,b=0;printf("\n 请输入一个数: \n");scanf("%d",&a);do{b=a%2;printf("%d",b);a=a/2;}while(a>0);}比如我输入2它输出为01,反了一下如何在转过来?用数组我不只到给它要多大的空间,我不可能分配100000个空间吧高手请指导一下.......................... 
提问者: 童萧 - 二级最佳答案
呵呵这样做的确输出的是反过来的数方法一:可以利用数组顺序存储转换过程中依次得到每个数字位,转换结束后再按相反的次序输出数组内容即可得到正确的结果。方法二:直接搞掂,这才叫强!!!且看我如何强法!!#include void trans(int x){int a[30];//我算过了,1亿好像才29位的二进制,一般不用算//这么大的数了吧~~int i=0,rem;do{rem=x%2;x=x/2;a[i]=rem;i++;}while(x!=0);//这个算法看你的代码知道你懂!:)while(i>0)printf("%d",a[--i]);printf("\n");//这就是我的精华了,倒输出正确顺序的数~}void main(){int d;printf("请输入一个十进制的正整数:\n");do scanf("%d",&d);while(d<0);trans(d);}我觉得楼主的水平也不差,应该看得懂吧我只是加了几句而已加分哦:) 
 41

回答者:lchy0987 - 三级   2008-3-12 22:45

我来评论>>.goodvalueitem{background:url(http://img.baidu.com/img/iknow/ico_good.gif) no-repeat left;padding:2px 0 0 20px;zoom:1;}.relateTable td {line-height:22px;}相关内容 • c语言十进制转二进制的问题(急)  2009-10-26 • C语言十进制转二进制这段代码运行后怎么不对?  1  2009-9-26 • C语言 十进制转成二进制 怎么老少一位啊  1  2008-1-4 • c语言二进制转十进制  8  2009-4-9 • 单片机怎样用C语言实现二进制转十进制并在LCD中显示  1  2010-7-4   更多关于C十进制转二进制的问题>> 查看同主题问题: 十进制 二进制 语言