这题目这么做

来源:百度知道 编辑:UC知道 时间:2024/07/08 17:00:45
输入一十进制数,将对应的二进制码输出。(提示:可将与2相除的余数放在一数组中)

看意思你只需要转换整数,这是我以前练习用的,你自己看看吧
#include <stdio.h>

void main()
{
int a,b,i;
b = sizeof(a)*8;
scanf("%d",&a);
if (a==0)
printf("0");
else
for (i=b-1; i>=0; i--)
if ((a&(1<<i))!=0)
{
printf("1");
while(i--)
{
if ((a&(1<<i))!=0)
printf("1");
else
printf("0");
}
break;
}
printf ("\n");

}

讲讲算法……
二进制会求不。如果求33的2进制,就是33%2是个位33/2%2是十位,以此类推。

所以会用到堆栈哦!

#include<stdio.h>
int main()
{
int num;
int n;
int a[128],j;
scanf("%f",&num);
n=num;
for(j=0;n>0;j++)
{a[j]=n%2;
n=n/2;
}
while(j--)printf("%d",a[j]);
return 0;
}

//小数部分,这块没继续写了。给出求正整数的够了吧?小数很麻烦