用c语言利用函数输入一个十进制整数,转化成为二进制,八进制和十六进制,并在main函数中调用此函数
时间: 2025-01-20 07:15:07 浏览: 85
在C语言中,我们可以创建一个名为`decimal_to_other_bases`的函数,用于将十进制整数转换成二进制、八进制和十六进制。首先,我们需要包含头文件`stdio.h`和`stdlib.h`,然后编写转换函数并定义一个辅助函数(如`binary_helper`)来处理每一位的转换。以下是完整的函数实现:
```c
#include <stdio.h>
#include <stdlib.h>
// 辅助函数,用于获取十进制数的一位二进制表示
int binary_digit(int n, int base) {
return (n % base) ? 1 : 0;
}
// 主函数:将十进制整数转换为其他进制字符串
void decimal_to_other_bases(int decimal_num) {
char binary[32], octal[11], hex[17];
// 二进制转换
sprintf(binary, "%d", decimal_num);
for (int i = strlen(binary); i > 0; i--) {
binary[i - 1] = binary[i - 1] - '0'; // 转换为数字
}
// 八进制转换
sprintf(octal, "%o", decimal_num);
// 十六进制转换
sprintf(hex, "%x", decimal_num);
printf("Binary representation: %s\n", binary);
printf("Octal representation: %s\n", octal);
printf("Hexadecimal representation: %s\n", hex);
}
int main() {
int input_decimal;
printf("Enter a decimal number: ");
scanf("%d", &input_decimal);
// 调用转换函数
decimal_to_other_bases(input_decimal);
return 0;
}
```
在这个程序中,我们先通过`scanf`从用户那里接收一个十进制整数,然后调用`decimal_to_other_bases`函数进行转换,并打印出相应的二进制、八进制和十六进制形式。
阅读全文
相关推荐


















