把10进制整数转化为16进制数。
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
char ans[100];
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int r=0;
if(n==0)
{
printf("0\n");
continue;
}
while(n)
{
int a=n%16;
if(a>=0 && a<=9)
ans[r++]='0'+a;
else
{
if(a==10)
ans[r++]='A';
else if(a==11)
ans[r++]='B';
else if(a==12)
ans[r++]='C';
else if(a==13)
ans[r++]='D';
else if(a==14)
ans[r++]='E';
else
ans[r++]='F';
}
n=n/16;
}
for(int i=r-1;i>=0;i--)
printf("%c",ans[i]);
printf("\n");
}
return 0;
}