输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
样例输入
30
样例输出
1E
代码:
#include<stdio.h>
#include<string.h>
char s[1010];
int i=0;
void S(int n)
{
int t;
if(n<16)
{
if(n==15)
s[i]='F';
else if(n==14)
s[i]='E';
else if(n==13)
s[i]='D';
else if(n==12)
s[i]='C';
else if(n==11)
s[i]='B';
else if(n==10)
s[i]='A';
else s[i]=n+'0';
i++;
}
else
{
t=n%16;
if(t==15)
s[i]='F';
else if(t==14)
s[i]='E';
else if(t==13)
s[i]='D';
else if(t==12)
s[i]='C';
else if(t==11)
s[i]='B';
else if(t==10)
s[i]='A';
else s[i]=t+'0';
i++;
return S(n/16);
}
}
int main(void)
{
int n,i,j,m;
scanf("%d",&n);
S(n);
m=strlen(s);
for(j=m-1;j>=0;j--)
printf("%c",s[j]);
return 0;
}