Description
把十进制整数转换为十六进制,格式为0x开头,10~15由大写字母A~F表示。
Input
每行一个整数x,0<= x <= 2^31。
Output
每行输出对应的八位十六进制整数,包括前导0。
题意:
给定你一个数,要你求出它的十六进制数,但是10~15由大写字母A~F表示。
思路:
把给定的数对16取余,存放到一个数组中,然后再倒过来输出。
Sample Input
0 1023
Sample Output
0x000000000x000003FF
#include<cstdio> int a[10]; using namespace std; int main() { int x; while(cin>>x) { for(int i=1;i<=8;i++) { a[i]=x%16; x=x/16; } cout<<"0x"; for(int i=8;i>=1;i--) { if(a[i]==15) cout<<'F'; else if(a[i]==14) cout<<'E'; else if(a[i]==13) cout<<'D'; else if(a[i]==12) cout<<'C'; else if(a[i]==11) cout<<'B'; else if(a[i]==10) cout<<'A'; else cout<<a[i]; } cout<<endl; } return 0; }