leonx21 发表于 2008-4-19 21:31

C++初学者 十进制转换2进制问题

想编个十进制转换2进制的程序
这是我写的程序
#include <iostream.h>
#include <math.h>
void main()
{
int a,b,c;
cin >>a;
do
{
  b=a/2;
  c=a-b*2;
  cout <<c;
  a=b;
  }
  while (b!=0);
  cout <<endl;
}
结果虽可以通过 不过二进制数字是倒的  那位高手可以可以帮我解决这一问题呢 最好在我的原程序的基础上改改 不然怕我看不懂··  谢谢

jiefen111 发表于 2008-4-19 21:57

其实这是数据结构 栈的典型应用实例,因为数值转换是从低位到高位顺序产生对应进制的各个位数,而打印输出应从高位到底为进行。
如果在你源程序上修改,我觉得定义一个数组吧,把每次c的只存到数组中,然后打印的时候倒序打印该数组

页: [1]

编程论坛