用c语言写一个输入一个十进制数,转换为对应的八进制 十六进制 十进制数输出的程序
时间: 2024-10-16 21:09:35 浏览: 36
C语言实现十六进制数据转十进制数据
在C语言中,你可以通过标准库函数`printf()`和一些位运算来实现这个功能。以下是一个简单的程序示例:
```c
#include <stdio.h>
#include <string.h>
// 将十进制数转换成字符串表示的八进制、十六进制
char* dec_to_oct(char *oct_str, int decimal) {
char oct[] = "01234567";
sprintf(oct_str, "%o", decimal);
return oct_str;
}
char* dec_to_hex(char *hex_str, int decimal) {
char hex[] = "0123456789abcdef";
sprintf(hex_str, "%x", decimal);
return hex_str;
}
int main() {
int decimal_num; // 用户输入的十进制数
printf("请输入一个十进制数: ");
scanf("%d", &decimal_num);
char octal_str[10];
char hexadecimal_str[10];
octal_str = dec_to_oct(octal_str, decimal_num);
hexadecimal_str = dec_to_hex(hexadecimal_str, decimal_num);
printf("八进制: %s\n", octal_str);
printf("十六进制: %s\n", hexadecimal_str);
return 0;
}
```
在这个程序中,我们首先定义了两个辅助函数`dec_to_oct`和`dec_to_hex`,分别用于将十进制转换为八进制和十六进制。然后在`main`函数中获取用户输入的十进制数,并通过这两个函数转换并打印出来。
阅读全文