#include<stdio.h>
int main()
{
int a;
int b[1000],i,x0,x1,k,c;
x0=0;
x1=1;
printf("请输入十进制数a\n");
scanf("%d",&a);
if(a == 0)
{
printf("十进制数0转成二进制数为0\n");
printf("1的个数为0\n");
printf("0的个数为1\n");
}
c = a;
for(i=0;i<1000;i++)
b[i]=0;
i=0;
while(a!=1)
{
b[i]=a%2;
a=a/2;
i++;
}
k=i-1;
printf("十进制数%d转成二进制数为%d",c,a);
for(i=k;i>=0;i--)
printf("%d",b[i]);
printf("\n");
for(i=0;i<=k;i++)
{
if(b[i]==0)
x0++;
else
x1++;
}
printf("0的个数为%d\n",x0);
printf("1的个数为%d\n",x1);
return 0;
}
VC上调试成功
===================================================
#include "stdio.h"
int main()
{
int number,i=7,b[8]={0},m=0,n=0;
printf("Input a number between 0 and 255:");
scanf("%d",&number);
while(number)
{
b[i]=number%2;
number/=2;
if(b[i]==0)
M++;
IF(B[i]==1)
n++;
i--;
}
for(i=1;i<8;i++)
{
printf("%d,%d,%d",b[i],m,n);
}printf("\n");
}