你可以设置一个字符串数组
char HEX[16] = {'0', '1', '2', 3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}
以后你得出的数字,比如余数y是10,那么HEX[y]打印出来就是A了
例子(现写的)
int now;
int res[100];//答案
int c = 0;//位数
输入到now;
while (now > 0)
{
res[c] = now % 16;
now = now / 16;
c++;
}
输出是:
for (i = 0; i < c; i++)
{
输出 HEX[res[i]];
}
算法的精髓都给你啦,好好理解吧
/**********************************************
**************** 补充 *****************
**********************************************/
改你的代码
#include "stdio.h"
void main()
{
char HEX[16] = {'0', '1', '2', 3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; //<----------------这里加了
int num;
printf("请输入一个十进制整数:");
scanf("%d",&num);
int a[10]; //<----------------这里改了
int i=0;
int yushu;
while(num>0)
{
yushu=num%16;
a[i]=yushu;
num=num/16;
i++;/*关键的就在这里,这后面书上写的要用SWITCH,但是我用不好,请各位大虾指教*/
}
printf("转化为十六进制的数为:");
for(;i>=0;i--)//倒序输出
{
printf("%c",HEX[a[i]]); //<----------------这里改了
}
printf("\n");
}
用C语言编写一个程序将输入的十进制数转化成16进制?
最新推荐文章于 2026-04-01 03:38:59 发布
本文介绍了一种将十进制整数转换为十六进制形式的算法,并提供了完整的C语言实现代码。通过设置一个包含十六进制字符的数组,并利用取余和除法操作,实现了数字的有效转换。

1843

被折叠的 条评论
为什么被折叠?



