C语言 将十进制数转化为二进制数 程序代码

来源:百度知道 编辑:UC知道 时间:2024/05/18 01:56:24
简单的最好,目前只学过数组和简单的语句,刚入门不久

#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倍,以后依次类推。

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]);
}
初学,共同进步