输入一个整数,将其转化为二进制数进行输出用c语言

如题所述

#include<stdio.h>
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;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-28
源程序如下:#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++测试如下:
第2个回答  2023-01-15
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;

}
第3个回答  2016-01-05
#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;
}
相似回答