f53403
2017-04-08 06:56
采纳率: 66.7%
浏览 927

一段C++ 问题求解,将十进制转换为二进制,哪里错了,输出一堆数字?

#include

using namespace std;
int main()
{
int num[16],i;
int Count=0;
int a;
cin>>a;
while((a/2)!=1)
{
num[Count]=a%2;
a=a/2;
Count++;
}
num[Count+1]=1;

for(i=sizeof(num)/sizeof(num[0])-1;i>=0;i--)//换序
{
    cout<<num[i];
}

}
图片说明

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • yeyang1992 2017-04-08 07:14
    已采纳

    for (int j = 0; j < 16; j++)
    {

        num[j] = 0;
    }
    num数组先初始化为零
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • baidu_38152135 2017-04-08 07:04

    数组未初始化,数组后面大于count的数是随机的

    评论
    解决 无用
    打赏 举报
  • yeyang1992 2017-04-08 07:14

    num 数组未初始化
    for (int j = 0; j < 16; j++)
    {

        num[j] = 0;
    }
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题