c语言编写程序:编写一个函数,将十进制转化为十六进制,在主函数实现输入和输出
时间: 2024-03-10 16:51:23 浏览: 184
以下是一个将十进制转换为十六进制的函数和一个示例主函数:
```c
#include <stdio.h>
void decimalToHex(int num) {
char hex[100];
int i = 0, remainder;
while (num > 0) {
remainder = num % 16;
if (remainder < 10) {
hex[i] = remainder + 48;
} else {
hex[i] = remainder + 55;
}
i++;
num /= 16;
}
printf("The hexadecimal representation is: ");
for (int j = i - 1; j >= 0; j--) {
printf("%c", hex[j]);
}
printf("\n");
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
decimalToHex(decimal);
return 0;
}
```
该程序首先定义了一个将十进制转换为十六进制的函数`decimalToHex`。该函数使用了一个while循环,每次将余数添加到字符数组`hex`中,直到十进制数为0。在添加余数时,如果余数小于10,则将其转换为字符并添加到`hex`数组中,否则将其转换为大写字母并添加到`hex`数组中。最后,程序倒序输出`hex`数组中的字符,以得到正确的十六进制字符串。
主函数首先提示用户输入一个十进制数,然后使用`scanf`输入该数。然后将该数传递给`decimalToHex`函数,该函数将输出转换后的十六进制字符串。
阅读全文