C语言编写程序,将十进制正整数转成十六进制字符串输出。
时间: 2024-05-05 07:20:51 浏览: 91
以下是一个示例程序:
```c
#include <stdio.h>
void decimal_to_hex(int num) {
char hex[16];
int i = 0;
while (num != 0) {
int remainder = num % 16;
if (remainder < 10) {
hex[i++] = remainder + '0';
} else {
hex[i++] = remainder - 10 + 'A';
}
num /= 16;
}
printf("0x");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hex[j]);
}
printf("\n");
}
int main() {
int num = 123456;
decimal_to_hex(num);
return 0;
}
```
该程序定义了一个名为 `decimal_to_hex` 的函数,该函数接收一个十进制正整数并将其转换为十六进制字符串。在函数中,我们使用了一个字符数组 `hex` 来保存十六进制字符串,同时使用了一个循环来进行十进制到十六进制的转换,最后再将结果倒序输出即可。
在 `main` 函数中,我们调用了 `decimal_to_hex` 函数并将一个整数作为参数传递给它,然后输出转换后的十六进制字符串。
阅读全文