1 /*描述
 2 ACM队的队花C小+经常抱怨:“C语言中的格式输出中有十六、十、八进制输出,然而却没有二进制输出,哎,真遗憾!
 3 谁能帮我写一个程序实现输入一个十进制数n,输出它的二进制数呀?”
 4 
 5 难道你不想帮帮她吗?^_^
 6 
 7 输入
 8 输入有多个数据,数据以EOF结束;每个数据ni(0<=ni<=1000010000)用空格隔开;
 9 (温馨提示:EOF即是一个文件的结束标志;while(scanf("%d",&n)!=EOF){})
10 输出
11 输出有多行,每行对应一个十进制数ni的二进制数;
12 注意:输出的二进制去掉任何一个多余的0;
13 样例输入
14 0 1 2 10
15 样例输出
16 0
17 1
18 10
19 1010*/
20 #include<stdio.h>
21 int main()
22 {
23     long int n;
24     while(scanf("%ld",&n) != EOF)
25     {
26          int  s[31],i,a;
27          if(n == 0) 
28          {
29                 printf("0 \n");
30                 continue;
31          }
32          for(i = 0;;i++)
33          {
34                 s[i] = n%2;
35                 n /= 2;
36                 if(n == 0) break;
37          }
38          for(a = i;a >= 0;a--)
39                 printf("%d",s[a]);
40          printf("\n");
41     }
42     return 0;
43 }