資源限制
時間限制: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,以此類推...