代码如下:
#include "stdio.h"
int main()
{
int num=0;
int a[100];
int i=0;
int m=0;
int yushu;
char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
printf("请输入一个十进制整数:");
scanf("%d",&num);
while(num>0)
{
yushu=num%16;
a[i++]=yushu;
num=num/16;
}
printf("转化为十六进制的数为:0x");
for(i=i-1;i>=0;i--)//倒序输出 {
m=a[i];
printf("%c",hex[m]);
}
printf("\n");
}
程序运行结果:
扩展资料
C语言中,十进制转换十六进制,可以先输入十进制整数,然后去拼十六进制,十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,只需把二进制除以16得到余数去上面定义的hex[16]数组进行取值接可以得到转换的数字。
参考资料:百度百科-十六进制
#include
void dec2hex(int n)
{if(n>15)dec2hex(n/16);
printf("%c",n%16<10?n%16+'0':n%16+55);
}
int main()
{int n;
scanf("%d",&n);
dec2hex(n);
return 0;
}
#include
int main()
{
int a;
printf("input a num:");
scanf("%d",&a);
printf("HEX:0x%02x",a);
return 0;
}
#include
int main()
{
int n;
scanf("%d", &n);
printf("%X", n);
return 0;
}
%x %X就是以十六进制的形式输出一个整数,字母的大小写形式与x相同
在printf函数中,你可以用%x格式来输出16进制
如:
int a = 10;
printf("%x", a);