c语言 输入一个整数,将其转换为十六进制数,所得的十六进制数的每一位放在一维数组中,输出此十六进制数。
时间: 2023-06-04 18:02:18 浏览: 50
可以这样实现:
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
int hex[8]; // 数字最多占用 8 位十六进制数
int i = 0;
while (num != 0 && i < 8) {
hex[i] = num % 16;
num /= 16;
i++;
}
for (int j = i - 1; j >= 0; j--) {
if (hex[j] >= 0 && hex[j] <= 9) {
printf("%d", hex[j]);
} else {
printf("%c", 'A' + (hex[j] - 10));
}
}
return 0;
}
假设输入的整数是 345678,该程序会输出 53E26。
相关问题
C语言输入一个整数,将其转换为十六进制数,得的十六进制数的每一位放在一维数组中,输出此十六进制数。
好的,这是一个技术问题,我可以回答。以下是C语言代码示例:
```
#include <stdio.h>
int main() {
int num, i;
char hex[10];
printf("请输入一个整数:");
scanf("%d", &num);
sprintf(hex, "%X", num); // 使用sprintf函数将整数转换为十六进制字符串
printf("十六进制数为:%s\n", hex);
printf("每一位放在一维数组中为:");
for(i = 0; hex[i] != '\0'; i++) {
printf("%c ", hex[i]);
}
printf("\n");
return 0;
}
```
该程序可以让用户输入一个整数,将其转换为十六进制数,并将其每一位放在一个一维数组中输出。
用c语言编写一个函数,将十进制数转换为十六进制数,在主函数中实现输入和输出
好的,这是一个简单的将十进制数转换为十六进制数的C语言函数:
```c
#include <stdio.h>
void decToHex(int num) {
int rem[50], i = 0, j;
while (num != 0) {
rem[i] = num % 16;
num /= 16;
i++;
}
printf("十六进制数为:");
for (j = i - 1; j >= 0; j--) {
if (rem[j] >= 0 && rem[j] <= 9) {
printf("%d", rem[j]);
} else {
printf("%c", rem[j] + 55);
}
}
}
int main() {
int num;
printf("请输入一个十进制数:");
scanf("%d", &num);
decToHex(num);
return 0;
}
```
这个函数将十进制数转换为十六进制数,并在控制台输出结果。在主函数中,我们需要输入一个十进制数,然后调用这个函数。