十进制数转换为十六进制数完整c语言代码
时间: 2023-10-18 22:27:53 浏览: 188
以下是将十进制数转换为十六进制数的完整C语言代码:
```c
#include <stdio.h>
int main() {
int decimal, quotient, remainder;
char hex[20];
int i, j = 0;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
quotient = decimal;
// 将十进制数转换为十六进制数
while (quotient != 0) {
remainder = quotient % 16;
if (remainder < 10) {
hex[j++] = 48 + remainder;
} else {
hex[j++] = 55 + remainder;
}
quotient = quotient / 16;
}
hex[j] = '\0';
// 反转十六进制数字符串
for (i = 0, j = j - 1; i < j; i++, j--) {
char temp = hex[i];
hex[i] = hex[j];
hex[j] = temp;
}
printf("%d in decimal is %s in hexadecimal.", decimal, hex);
return 0;
}
```
运行程序时,会要求用户输入一个十进制数。程序会将输入的数转换为十六进制数,并输出转换结果。
例如,当用户输入`1234`时,输出结果为:
```
1234 in decimal is 4D2 in hexadecimal.
```
程序首先使用`scanf`函数获取用户输入的十进制数,然后使用循环和取模运算将十进制数转换为十六进制数字符串,并存储在`hex`数组中。最后,程序将`hex`数组中的字符反转,以得到正确的十六进制数字符串。
阅读全文