藍橋杯 基礎練習(十) 十進位制轉十六進製制 C語言

2021-09-09 09:22:31 字數 955 閱讀 5385

問題描述

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推,十進位制的30在十六進製制中是1e。

給出乙個非負整數,將它表示成十六進製制的形式。

輸入格式

輸入包含乙個非負整數a,表示要轉換的數。0<=a<=2147483647

輸出格式

輸出這個整數的16進製表示

樣例輸入

30樣例輸出

1eenmmm,時間隔太久,不知道從什麼地方說起,先貼**吧:

#include 

char getnum

(int a)

} int main()

//0不能作被除數,所以如果輸入0,則直接輸出0

else

for(i-=

1;i>=

0;i--

)//i-=1,指向最後一位,倒序輸出,這個解釋有點麻煩,自己理解吧

}return0;

}

首先解釋一下,筆者的思路很簡單,就是先將輸入的十進位制數n除以16得到商和餘數,餘數直接放入申請好的陣列中,如果商大於等於16,那麼就迴圈上面這個操作。

這樣我們會得到一串陣列,陣列中的每一位餘數代表這個數n所對應的十六進製制數的每一位的數值(十進位制)。

然後將這些數值用switch函式轉化成十六進製制數就得到了我們想要的結果。

嗯,可能讀者會看不懂,畢竟筆者的表達能力真的不行,看不懂的就直接看**吧,實在抱歉。

需要注意的點**中都有標出,好了,筆者繼續去肝下一題了t-t

藍橋杯基礎練習 十進位制轉十六進製制

問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...

藍橋杯基礎練習十六進製制轉十進位制

問題描述 從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。注 十六進製制數中的10 15分別用大寫的英文本母a b c d e f表示。樣例輸入 ffff 樣例輸出 65535 直接轉化即可,注意資料範圍。code include include include in...

藍橋杯基礎練習 十進位制轉十六進製制

問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...