给出一个非负整数,将它表示成十六进制的形式。
输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
样例输入
30
样例输出
1E
方法一:
#include<iostream>
usingnamespace std;
int main()
{
int n;
cin>>n;
char sixteen[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
int temp[100000];
int i=0;
if(n<16)
cout<<sixteen[n];
else
{
while(n/16!=0)
{
temp[i]=n%16;
n=n/16;
++i;
}
temp[i]=n;
for(int j=i;j>=0;j--)
cout<<sixteen[temp[j]];
}
return0;
}
方法二:
#include<iostream>
#include<cstdio>
usingnamespace std;
int main()
{
int n;
char s[100000];
while(cin>>n)
{
int k=0;
if(n==0)
cout<<0;
else
{
while(n!=0)
{
if(n%16>=10)
s[k++]='A'+n%16-10;
else
s[k++]='0'+n%16;
n=n/16;
}
for(int i=k-1;i>=0;i--)
cout<<s[i];
}
cout<<endl;
}
return0;
}