用C语言输入一个整数,输出他的八进制和十六进制的数
时间: 2024-10-17 08:02:51 浏览: 59
在C语言中,你可以使用`scanf()`函数从用户那里获取输入的十进制整数,然后转换成八进制和十六进制形式。这里有一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h> // 引入itoa函数
void convert_to_octal(int num) {
char octal[10]; // 存储八进制字符串
itoa(num, octal, 8); // 使用itoa将十进制转为八进制
printf("八进制形式: %s\n", octal);
}
void convert_to_hexadecimal(int num) {
char hexadecimal[32]; // 存储十六进制字符串,足够大以容纳最多32位的十六进制数字
sprintf(hexadecimal, "%x", num); // 使用sprintf将十进制转为十六进制
printf("十六进制形式: %s\n", hexadecimal);
}
int main() {
int decimal_num;
printf("请输入一个十进制整数: ");
scanf("%d", &decimal_num);
convert_to_octal(decimal_num);
convert_to_hexadecimal(decimal_num);
return 0;
}
```
在这个程序里,我们首先通过`scanf()`读取用户的输入,然后分别用`itoa()`和`sprintf()`函数将其转换为八进制和十六进制字符串。
阅读全文