藍橋杯BASIC-10 基礎練習 十進位制轉十六進位制
阿新 • • 發佈:2018-11-16
問題描述
十六進位制數是在程式設計時經常要使用到的一種整數的表示方式。它有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
思路:這裡有關於各種進位制轉換的詳解: 開啟連結
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; typedef long long ll; int main() { char a[10],b[17]="0123456789ABCDEF"; ll m,n; scanf("%lld",&m); n=m; int i=0; while(n) { a[i++] = b[n%16]; n /= 16; } //a[i]=b[n%16]; i-=1; while(i>=0) { printf("%c",a[i--]); } if(m==0) printf("0"); printf("\n"); //printf("%s\n",b); return 0; }