用c编写程序,将十进制正整数转成十六进制字符串输出。
时间: 2024-05-07 10:17:41 浏览: 187
C实现十进制至十六进制的转换
4星 · 用户满意度95%
好的,以下是一个将十进制正整数转成十六进制字符串输出的C语言程序:
```c
#include <stdio.h>
void decToHex(int num) {
char hex[100];
int i = 0;
while (num != 0) {
int remainder = num % 16;
if (remainder < 10) {
hex[i] = remainder + 48;
} else {
hex[i] = remainder + 55;
}
i++;
num /= 16;
}
printf("十六进制字符串为: ");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hex[j]);
}
}
int main() {
int num;
printf("请输入一个十进制正整数: ");
scanf("%d", &num);
decToHex(num);
return 0;
}
```
程序的核心是 `decToHex` 函数,它将输入的十进制正整数转换成十六进制字符串。具体实现方式是使用循环,每次取出 num 的最后一位并转换成对应的十六进制字符,然后将其存储到一个字符数组中。最后,倒着遍历字符数组并输出,即可得到十六进制字符串。
在主函数中,我们首先要求用户输入一个十进制正整数,然后调用 `decToHex` 函数将其转换成十六进制字符串并输出。
希望能够帮到你!
阅读全文