#include<stdio.h>
#include<stdlib.h>
int main()
{
int *a;
int n,i=0;
scanf("%d",&n);
a=(int *)malloc(sizeof(int )*20);
while(n!=0)
{
a[i]=n%2;
n=n/2;
i++;
}
i--;
for(;i>=0;i--)
{
printf("%d",a[i]);
}
return 0;
}
知识总结:本题中注意十进制转换成二进制时,输出时二进制的那个顺序是相反的,因此程序中第二个循环时从大到小进行的。