1. 程式人生 > >簡單遞迴的(十進位制轉二進位制)

簡單遞迴的(十進位制轉二進位制)

問題 D: 十->二進位制轉換

時間限制: 1 Sec  記憶體限制: 128 MB
提交: 231  解決: 75
[提交][狀態][討論版][命題人:外部匯入]

題目描述

將十進位制整數轉換成二進位制數

輸入

輸入資料中含有不多於50個整數n(-2^16<n<2^16)。

輸出

對於每個n,以11位的寬度右對齊輸出n值,然後輸出“-->”,再然後輸出二進位制數。每個整數n的輸出,獨立佔一行。

樣例輸入

2
0
-12
1

樣例輸出

          2-->10
          0-->0
        -12-->-1100
          1-->1
#include<stdio.h>
#include<math.h>
void fun(int n)
{
 
    if(n/2>0)
        fun(n/2);
    printf("%d",n%2);
}
int main()
{
    int n;
     
    while(scanf("%d",&n)!=EOF)
    {
         
        printf("%11d-->",n);
        if(n<0)
            printf("-");
        n=fabs(n);
        fun(n);
        printf("\n");
    }
    return 0;
}