用c语言输入1个八进制数和1个十六进制数后,将这两个数的十进制输出。
时间: 2024-10-13 07:18:11 浏览: 32
在C语言中,我们可以使用标准库函数`scanf()`来获取用户输入的八进制数和十六进制数,然后通过相应的转换函数如`atoi()`和`strtol()`将其转换成整型,再输出为十进制。以下是简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char octal[10], hexadecimal[10];
printf("请输入一个八进制数: ");
scanf("%s", octal);
int decimal_octal = atoi(octal); // 将八进制字符串转换为十进制
printf("请输入一个十六进制数: ");
scanf("%s", hexadecimal);
long decimal_hexadecimal = strtol(hexadecimal, NULL, 16); // 以16为基数转换十六进制字符串为十进制
printf("八进制数 %s 转换为十进制为: %d\n", octal, decimal_octal);
printf("十六进制数 %s 转换为十进制为: %ld\n", hexadecimal, decimal_hexadecimal);
return 0;
}
```
在这个程序中,我们首先读取两个字符串形式的数字,然后分别用`atoi()`和`strtol()`进行转换。注意,`strtol()`函数的第三个参数指定了基数,这里设为16表示处理的是十六进制。
阅读全文