从键盘上输入一个整数,输出其八进制以及十六 进制形式, 例如:输入:8 输出格式为: 八进制:010 十六进制:0x8从键盘上输入一个整数, 输出其八进制以及十六进制形式 例如:输入:8 输出格式为: 八进制:010 十六进制:0x8用c语言生成
时间: 2024-09-21 17:05:31 浏览: 70
在C语言中,你可以使用标准库函数来完成这个任务。下面是一个简单的示例程序,它会从用户那里获取一个整数,并将其转换成八进制和十六进制形式:
```c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
// 将十进制整数转换为字符串表示的八进制和十六进制
void convert(int num) {
char octal[10], hexadecimal[10];
int octal_len, hexadecimal_len;
// 转换为八进制
octal_len = sprintf(octal, "0%o", num);
// 填充前导零
while (octal_len < 9)
octal[octal_len++] = '0';
printf("八进制:%s\n", octal);
// 转换为十六进制
snprintf(hexadecimal, sizeof(hexadecimal), "0x%x", num);
hexadecimal_len = strlen(hexadecimal);
// 如果需要,添加前缀"0x"
if (hexadecimal_len == 1)
hexadecimal[0] = '0';
printf("十六进制:%s\n", hexadecimal);
}
int main() {
int input;
printf("请输入一个整数:");
scanf("%d", &input);
convert(input); // 调用函数转换并打印
return 0;
}
```
当你运行此程序,按照提示输入一个整数,比如8,就会得到如下的输出:
```
八进制:010
十六进制:0x8
```
阅读全文