1. 程式人生 > >PTA基礎編程題目集7-4 BCD解密

PTA基礎編程題目集7-4 BCD解密

urn 基礎 題目 include div 如果 %d turn 一位

BCD數是用一個字節來表達兩位十進制的數,每四個比特表示一位。所以如果一個BCD數的十六進制是0x12,它表達的就是十進制的12。但是小明沒學過BCD,把所有的BCD數都當作二進制數轉換成十進制輸出了。於是BCD的0x12被輸出成了十進制的18了!

現在,你的程序要讀入這個錯誤的十進制數,然後輸出正確的十進制數。提示:你可以把18轉換回0x12,然後再轉換回12。

輸入格式:

輸入在一行中給出一個[0, 153]範圍內的正整數,保證能轉換回有效的BCD數,也就是說這個整數轉換成十六進制時不會出現A-F的數字。

輸出格式:

輸出對應的十進制數。

輸入樣例:

18

輸出樣例:

12

根據提示的意思就是,輸入一個10進制數,轉換成16進制數,由於不會出現A-F的數字,所以得出的16進制就正好為10進制數

1 #include <stdio.h>
2 int main(int argc, char const *argv[])
3 {
4     int x;
5     scanf("%d",&x);
6     x=x/16*10+x%16;
7     printf("%d\n",x);
8     return 0;
9 }

PTA基礎編程題目集7-4 BCD解密