Attention: 如果喜歡我寫的文章,歡迎來我的github主頁給star
Github:github.com/MuziJin
BCD數(shù)是用一個字節(jié)來表達兩位十進制的數(shù),每四個比特表示一位。所以如果一個BCD數(shù)的十六進制是0x12,它表達的就是十進制的12。但是小明沒學(xué)過BCD,把所有的BCD數(shù)都當(dāng)作二進制數(shù)轉(zhuǎn)換成十進制輸出了。于是BCD的0x12被輸出成了十進制的18了!
現(xiàn)在,你的程序要讀入這個錯誤的十進制數(shù),然后輸出正確的十進制數(shù)。提示:你可以把18轉(zhuǎn)換回0x12,然后再轉(zhuǎn)換回12。
輸入格式:
輸入在一行中給出一個[0, 153]范圍內(nèi)的正整數(shù),保證能轉(zhuǎn)換回有效的BCD數(shù),也就是說這個整數(shù)轉(zhuǎn)換成十六進制時不會出現(xiàn)A-F的數(shù)字。
輸出格式:
輸出對應(yīng)的十進制數(shù)。
輸入樣例:
18
輸出樣例:
12
Code
#include<stdio.h>
int main()
{
int hex,dnum;
scanf("%d", &hex);
dnum = hex/16*10 + hex%16;
printf("%d", dnum) ;
return 0;
}
轉(zhuǎn)載請注明出處:github.com/MuziJin