简单的最好,目前只学过数组和简单的语句,刚入门不久
#include <stdio.h>
void main()
{
int a;
scanf(\"%d\",&a);//输入一个10进制数。
int result=0;//存储a的二进制结果。
int p=1;//p=1表示个位数
do
{
int b=a%2;//b是余数,第一个余数是二进制的个位。
result=result+p*b;
p=p*10;//*10表示下个是10位数。
a=a/2;
}while(a);
printf(\"\\n%d\\n\",result);
}
程序在vc6.0下编译通过可以直接用,你自己看看吧,思路是a%2的结果是二进制的个位数,(a/2)%2的结果是二进制的十位数所以p扩大10倍,以后依次类推。
void main()
{
int a;
scanf(\"%d\",&a);//输入一个10进制数。
int result=0;//存储a的二进制结果。
int p=1;//p=1表示个位数
do
{
int b=a%2;//b是余数,第一个余数是二进制的个位。
result=result+p*b;
p=p*10;//*10表示下个是10位数。
a=a/2;
}while(a);
printf(\"\\n%d\\n\",result);
}
程序在vc6.0下编译通过可以直接用,你自己看看吧,思路是a%2的结果是二进制的个位数,(a/2)%2的结果是二进制的十位数所以p扩大10倍,以后依次类推。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2006-11-22
main()
{
int i=0,m=-1,j,k,num;
int a[100];
printf("input a number:\n");
scanf("%d",&num);
while(num!=0)
{ j=num%2;k=num/2;
a[i]=j;num=k;
m++;i++;
}
for(;m>=0;m--)
printf("%d",a[m]);
}
初学,共同进步
{
int i=0,m=-1,j,k,num;
int a[100];
printf("input a number:\n");
scanf("%d",&num);
while(num!=0)
{ j=num%2;k=num/2;
a[i]=j;num=k;
m++;i++;
}
for(;m>=0;m--)
printf("%d",a[m]);
}
初学,共同进步