输入八个十进制整数 ,依次输出每一个数的八进制和十六进制表示,使用C语言
时间: 2024-11-06 13:35:56 浏览: 44
C语言实现十六进制数据转十进制数据
在C语言中,你可以使用`printf`函数以及一些库函数来实现这个功能。这里是一个简单的示例代码片段,它会接受用户输入的8个十进制整数,并将它们转换为八进制和十六进制:
```c
#include <stdio.h>
#include <stdlib.h>
void convert(int decimal) {
// 转换为八进制并打印
char octal[10];
sprintf(octal, "%o", decimal);
printf("八进制: %s\n", octal);
// 转换为十六进制并打印
char hexadecimal[10];
sprintf(hexadecimal, "%x", decimal);
printf("十六进制: %s\n", hexadecimal);
}
int main() {
int numbers[] = {56, 127, 255, 1024, 32767, 65535, 99999, 100000};
const int num_elements = sizeof(numbers) / sizeof(numbers[0]);
for (int i = 0; i < num_elements; i++) {
convert(numbers[i]);
}
return 0;
}
```
在这个程序中,`convert`函数接收一个十进制数,然后使用`sprintf`函数分别将其转换为八进制(前缀`%o`)和十六进制(前缀`%x`)。在`main`函数中,我们创建了一个包含8个整数的数组,并遍历它们,对每个数都调用一次`convert`。
当你运行此程序,它会显示每个数字的八进制和十六进制形式。请注意,对于超出标准八进制和十六进制范围的数值,此代码可能不会给出预期的结果。
阅读全文