用C++编写一个十进制表示的正整数,将其转化为二进制表示并输出结果。

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:16:05
我自己写啦一个,编译无错。但得不到正确结果。
#include<iostream.h>
void main()
{
int a,i;
int c[16];
cout<<"输入一个十进制的正整数:"<<endl;
cin>>a;
if(a<0)
cout<<"输入错误,请输入正整数!";
if(a==0) cout<<"转为二进制后为:0 ";
while(a>=1)
{
i=0;
c[i]=a%2;
i++;
a=a/2;
cout<<"转为二进制后:"<<c[i]<<endl;
}
}
主要是数组上的运用问题。我开始是用一个整型数来表示计算出来的二进制,但与结果是反的,我不能实现将其反向输出。
后来有人建议用数组装二进制数,用循环输出。就修改成上述的。弄啦两天也没结果。

希望有人赐教。最好是在我的基础上改。
注:本人初学,望简单易懂。

#include<iostream.h>
void main()
{
int a,i;
int c[16];

//这里既然是叫人家重新输入,那就要用循环啊!!

cout<<"输入一个十进制的正整数:"<<endl;
cin>>a;
while( a < 0 )
{
cout<<"输入错误,请输入正整数!";
cout<<"输入一个十进制的正整数:"<<endl;
cin>>a;
}

if( a == 0 )
cout<<"转为二进制后为:0 ";

i = 0;
while( a > 0 )
{
// i=0; 这里是每一次循环都会执行到的
c[i] = a % 2;
i++;
a = a / 2;
}

i = i - 1;
cout<<"转为二进制后:";
while( i > -1 )
{
cout<<c[i--];
}
cout<<endl;
}

#include "iostream"

using namespace std;

int main()
{
int a,i;
int cnt=0;
int c[16];
cout<<"输入一个十进制的正整数:"<<endl;
cin>>a;
if(a<0)

c语言: 输入一个十进制正整数,将其转换成八进制数,并输出结果。 用汇编语言编写程序:从键盘输入一个十进制数,对其开平方后分别将其平方根和余数以十进制数的形式显示 用c语言编:从键盘输入一个二进制,将其转化成等值的十进制 怎样用C语言编写一个程序将输入的十进制数转化成16进制? 用C语言编写一个将十六进制浮点型转化成十进制,怎么编啊? C语言程序设计:给一个十六进制的正整数将其转化为二进制数 将一个正整数分解质因数?用C 输入一个四位正整数,编写程序将其逆序输出 用C语言编写一个程序,从键盘输入一个正整数,输出这个整数的所有因子 用C语言编写一个函数factors,求出一个正整数的所有因子。