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

2021-10-08 04:23:37 字數 1532 閱讀 3105

資源限制

時間限制:1.0s 記憶體限制:512.0mb

問題描述

十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有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樣例輸出

1e今天在做藍橋杯這個題的時候,我按照先把十進位制轉換成二進位制的字串,然後每四位二進位制換算為乙個16進製制的數的思路寫了一下,但是得到了

下面的錯誤結果,我都傻了,想不出來自己錯在哪兒了,希望大佬指導一下。

//把int型轉換為string型別,這個函式其實是c++11標準好像就自己支援的,我只是抄了一下

while

(m >0)

s[i]

='\0'

; i = i -1;

while

(i >=0)

ss[j]

='\0'

;return ss;

}int

main()

else

while

(n !=0)

;if(s2.

size()

%4==1

)//補齊位數,保證是4的倍數

if(s2.

size()

%4==2

)if(s2.

size()

%4==3

)//cout << s2 << endl;

for(

int i =

0; i < s2.

size()

; i +=4

)else

if(num ==11)

else

if(num ==12)

else

if(num ==13)

else

if(num ==14)

else

if(num ==15)

else

} cout << s1 << endl;

}return0;

}

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

問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有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,以此類推...