用c语言编写程序,将十进制正整数转成十六进制字符串输出。
时间: 2024-05-04 21:16:26 浏览: 125
给定一个十进制正整数N,程序输出从1到N的所有整数中,“1”出现的个数。DMU
5星 · 资源好评率100%
好的,下面是示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
void decimalToHex(int decimal, char* hex) {
char* hexTable = "0123456789ABCDEF"; // 用于将数字转成十六进制字符
int remainder;
int i = 0;
while (decimal > 0) {
remainder = decimal % 16;
hex[i] = hexTable[remainder];
decimal = decimal / 16;
i++;
}
hex[i] = '\0'; // 字符串以 '\0' 结尾
int len = i;
for (i = 0; i < len / 2; i++) { // 反转字符串
char temp = hex[i];
hex[i] = hex[len - i - 1];
hex[len - i - 1] = temp;
}
}
int main() {
int decimal = 255;
char hex[100]; // 存储十六进制字符串
decimalToHex(decimal, hex);
printf("%s", hex); // 输出结果:FF
return 0;
}
```
在这个例子中,我们定义了一个 `decimalToHex` 函数,它将十进制数转换成十六进制字符串。在这个函数中,我们首先定义了一个 `hexTable` 数组,它包含将数字转换成十六进制字符所需的字符。然后,我们使用循环来计算十六进制值,并使用 `hexTable` 数组将其转换成字符。最后,我们使用另一个循环来反转字符串,以便它们以正确的顺序显示。在主函数中,我们定义了一个变量 `decimal`,它存储要转换的十进制数。我们还定义了一个 `hex` 数组,用于存储十六进制字符串。我们将 `decimalToHex` 函数应用于 `decimal` 变量,并将结果存储在 `hex` 数组中。最后,我们使用 `printf` 函数将结果输出到控制台中。
阅读全文