2个回答
展开全部
#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倍,以后依次类推。
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]);
}
初学,共同进步
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询