c语言将一个非负十进制数转换成一个十六进制数数字串并输出
时间: 2023-06-13 11:08:46 浏览: 118
C实现十进制至十六进制的转换
4星 · 用户满意度95%
可以使用以下代码将一个非负十进制数转换成一个十六进制数数字串并输出:
```c
#include <stdio.h>
int main() {
unsigned int num;
printf("请输入一个非负十进制数:");
scanf("%u", &num);
printf("转换成十六进制数为:0x");
char hex[9]; // 十六进制数最多有8位数字
int i = 0;
do {
int remainder = num % 16;
if (remainder < 10) {
hex[i++] = remainder + '0';
} else {
hex[i++] = remainder - 10 + 'a';
}
num /= 16;
} while (num > 0);
for (int j = i - 1; j >= 0; j--) {
printf("%c", hex[j]);
}
printf("\n");
return 0;
}
```
这个程序首先要求用户输入一个非负十进制数,然后将其转换成一个十六进制数数字串并输出。在转换的过程中,每次从原数中取出一个位,然后将其转换成一个十六进制数位。最后,将所有的十六进制数位按照从高到低的顺序输出即可。
阅读全文