#55448: c++解答


yp11451009@yphs.tp.edu.tw (711-19王敬皓)


c++

 

#include <bits/stdc++.h>
using namespace std;

int main(){

    // n:輸入的十進位數字
    // a[50]:存放轉換後的二進位數字
    // c:紀錄二進位位數
    int n, a[50], c;

    // 持續讀取輸入,直到沒有資料
    while(cin>>n){

        // 初始化二進位位數計數器
        c=0;

        // 將十進位轉換成二進位
        while(n>0){

            // 取 n 除以 2 的餘數
            // 餘數就是目前最低位的二進位數字
            a[c]=n%2;

            // 位數增加
            c++;

            // 將 n 除以 2,繼續處理下一位
            n/=2;
        }

        // 因為存入順序是由低位到高位
        // 所以需要反向輸出
        for(int i=c-1; i>=0; i--)
            cout<<a[i];

        cout<<endl;
    }

    return 0;
}