我写的一个正整数变为二进制的程序
#include<stdio.h>void main()
{
int n,a[16],i,k,j=0;
float m;
printf("Enter the number:\n");
scanf("%d",&i);
if((i>=0)&&(i<=31767))
{
if(i==o) printf("Code:0\n");
if(i==1) printf("Code:1\n");
do
{
j++;
m=i/2.0;
n=(int)m;
if(m==n)
a[16-j]=0;
else
a[16-j]=1;
i=n;
}
while(i==1);
a[15-j]=1;
for(k=0;k<15-j;k++)
a[k]=2;
printf("Code:");
for(k=0;k<16;k++)
{
if(a[k]!=2) printf("%d",a[k]);
}
}
else
printf("Error!");
}
望指正!