2009-04-04 12:55:27來源不明

二進位制轉換

/***********************************************************/

#include<stdio.h>  
#include<stdlib.h>
#include<string.h>
main()
{
  int n,a=0,b;
  int x[99999];   
  while(scanf("%d",&n)==1)
   {a=0;
    if(n!=0)              /*0比較不一樣*/
    {   
     while(n!=1)  
      {
       x[a]=n%2;
       n=n/2;
       a++;
      }
      printf("1");        /*不管怎麼進位都會有1領頭*/
     for(b=a-1;b>=0;b--) /*採用技巧為陣列反轉*/
      {
       printf("%d",x[b]);
      }
     printf("\n");
    }
    else
     printf("0\n");
   } 
 return 0;    
}

上一篇:階乘運算

下一篇:數字翻轉

溺水的魚 2013-11-30 13:25:04

第2,3,行的stdlib.h和string.h兩個函式庫沒有用到,可以不用宣告,可以縮小程式碼的大小。