1 #include<stdio.h> 2 struct 3 { 4 int a[33]; 5 int b; 6 }zh; //建立栈,存放二进制数 7 int main() 8 { 9 void ZH(int n);//对二进制数进行转换,压入栈 10 void pr();//对栈内数据进行输出 11 int n; 12 while(scanf("%d",&n)!=EOF) 13 { 14 zh.b=0; 15 ZH(n); 16 pr(); 17 } 18 return 0; 19 } 20 void ZH(int n) 21 { 22 if(n==0) 23 return; 24 zh.a[zh.b++]=n%2; 25 ZH(n/2); 26 } 27 void pr() 28 { 29 for(int i=zh.b-1;i>=0;i--) 30 printf("%d",zh.a[i]); 31 printf(" "); 32 }