#include
int main()
{
int i=0,n;
char bin[32];
scanf("%d",&n);
while(n)
{
bin[i]=(n&1)+'0';
n=n>>1;
i++;
}
for(i=i-1;i>=0;i--) printf("%c",bin[i]);
return 0;
}
源程序如下:#include
void
main()
{
int
x,y,a[32],i=0;
printf("请输入一个十进制整数.\n");
scanf("%d",&y);
x=y;
while(x!=0)
{
a[i++]=x%2;
//将结果存放到数组中
x=x/2;
}
printf("十进制整数%d转换为二进制数是:\n",y);
for(i--;i>=0;i--)
printf("%d",a[i]);//通过数组输出
printf("\n");
}vc++测试如下:
int main(){
int s = 30;//输入的整数,你喜欢赋多少就多少
int len = 0;//记录长度
int arr[50];//结果存放的位置
printf("binary code is:");
for(int i=0;i<100;i++){
arr[i] = s%2;//取余,放入数组存储
s = s/2;//十进制转二进制就是不断的除2
len++;//记录一下数组长度输出的时候用
if(s==0)break;//除到最后就是0可以不用循环了
}
//逆序输出一下看效果
int tep = 0;
for(int j = len;j>=0;j--){
tep++;
//每隔4位加个空格好看点
if(tep%4 ==0){
printf("%d ",arr[j]);
}else{
printf("%d",arr[j]);
}
}
return 0;
}
#include"stdio.h"
int main()
{
int n;
scanf("%d",&n);
bool a[1000];
int i=0;
while(1)
{
a[i]=n%2;
n=n/2;
if(n==0)break;
i++;
}
for(int j=i; j>=0; j--)
printf("%d",a[j]);
return 0;
}