C++的問題

topdog 發表於 2005-3-27 19:32:51 [顯示全部樓層] 回覆獎勵 閱讀模式 2 2908
我們老師出了一個題目
可是真的想破頭都想不出來
說是設計一個程式,能夠將1到256的十進位數字,以表格的方式印出的二進位、八進位和十六進位表示式。

[ Last edited by 水藍 on 2005-3-28 at 09:38 AM ]

已有(2)人回文

切換到指定樓層
skyphantom 發表於 2005-3-27 23:08
阿 是不會印表格還是不會轉換成那些進位啊?
印表格的話
我只會用一行一行自己對距離
常常會對不準
勉強還能算是一個爛表格
其他的我也不會
轉進位的話應該還滿容易的
反正一直用%跟/應該就能辦到
ex: 177轉8進制
就先 177%8=1<---最後一位
然後 ((177-1)/8)%8=22%8=6
其中 22要存起來等下還要用
再來 ((22-6)/8)%8=2%8=2
轉出來就是261
其他以此類推吧

afjsp:助人快樂之本.....順便加點積分....3/28

[ Last edited by afjsp on 2005-3-28 at 07:03 PM ]
蔡宗榮 發表於 2005-3-30 11:43
#include<iostream>

using std::cout;

using std::cin;

int main()

{

int a, b, c, i, x, bin, oct, hex, x_bin, x_oct, x_hex;

cout<<"Enter a number(1~256)\n";

cin>>x;

a=256;

b=64;

c=256;

x_bin=x_oct=x_hex=x;

//=====================分隔線===================

cout<<"The Binary:";

        for(i=1;i<=9;i++)

        {

                bin=x_bin/a;

                x_bin=x_bin%a;

                a=a/2;

                cout<<bin;

        }

        cout<<"\n";

//=====================分隔線===================

cout<<"The Octal: ";

        for(i=1;i<=3;i++)

        {

                oct=x_oct/b;

                x_oct=x_oct%b;

                b=b/8;

                cout<<oct;

        }

        cout<<"\n";

//=====================分隔線===================

cout<<"The hex:   ";

        for(i=1;i<=3;i++)

        {

                hex=x_hex/c;

                x_hex=x_hex%c;

                c=c/16;

                if(hex==10) cout<<"A";

                else if(hex==11) cout<<"B";

                else if(hex==12) cout<<"C";

                else if(hex==13) cout<<"D";

                else if(hex==14) cout<<"E";

                else if(hex==15) cout<<"F";

                else cout<<hex;

        }

        cout<<"\n";

}


afjsp:哇~~還把程式po上來呢....真有心哦...3/30

[ Last edited by afjsp on 2005-3-30 at 01:31 PM ]
你需要登入後才可以回覆 登入 | 註冊會員

本版積分規則