用c语言写将十进制数对应的八进制 十六进制 十进制数输出的程序
时间: 2024-10-16 17:09:33 浏览: 5
在C语言中,你可以使用`printf()`函数结合字符串格式化来分别转换十进制数到八进制、十六进制。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <math.h> // 引入math库用于取整
void decimal_to_octal(int dec) {
printf("八进制: %o\n", dec);
}
void decimal_to_hexadecimal(int dec) {
char hex[40]; // 预留足够的空间存储最多32位的十六进制数
sprintf(hex, "0x%lx", (unsigned long)dec); // 注意将int转换为unsigned long防止负值溢出
printf("十六进制: %s\n", hex);
}
int main() {
int decimal_num;
printf("请输入一个十进制数: ");
scanf("%d", &decimal_num);
decimal_to_octal(decimal_num);
decimal_to_hexadecimal(decimal_num);
return 0;
}
```
在这个程序中,我们定义了两个函数`decimal_to_octal()`和`decimal_to_hexadecimal()`,分别处理十进制转八进制和十六进制。`scanf()`用于从用户输入读取十进制数,然后传递给这两个函数进行转换。
运行此程序后,它会提示你输入一个十进制数,然后输出其对应的八进制和十六进制形式。
阅读全文