#include <stdio.h>
#define BASE 16
void tran(int n)
{
if (n == 0)
return;
tran(n/BASE);
if (n%BASE > 9)//每一次循环后定义比9大的余数
printf ("%c",n%BASE - 10 + 'A');
else //否则继续循环输出
printf ("%d",n%BASE);
return;
}
int main()
{
int n;
scanf ("%d",&n);
tran(n);
printf ("\n");
return 0;
}
//可以实现同样功能的源程序。
#include <stdio.h>
#define BASE 16
char num2char(int num)
{
switch(num)
{
case 0:
return '0';
case 1:
return '1';
case 2:
return '2';
case 3:
return '3';
case 4:
return '4';
case 5:
return '5';
case 6:
return '6';
case 7:
return '7';
case 8:
return '8';
case 9:
return '9';
case 10:
return 'A';
case 11:
return 'B';
case 12:
return 'C';
case 13:
return 'D';
case 14:
return 'E';
case 15:
return 'F';
}
}
void tran1(int n)
{
if (n == 0)
return;
tran1(n/BASE);
printf ("%c",num2char(n%BASE));
return;
}
int main()
{
int a;
scanf ("%d",&a);
tran1(a);
printf("\n");
return 0;
}