从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八进制值和十六进制值。
时间: 2024-01-14 22:02:39 浏览: 93
可以使用scanf()函数从键盘输入字符,并使用printf()函数输出字符的十进制值、八进制值和十六进制值,具体代码如下:
```c
#include <stdio.h>
int main() {
char c1, c2, c3;
printf("请输入三个字符:\n");
scanf("%c%c%c", &c1, &c2, &c3);
printf("第一个字符的十进制值为:%d,八进制值为:%o,十六进制值为:%x\n", c1, c1, c1);
printf("第二个字符的十进制值为:%d,八进制值为:%o,十六进制值为:%x\n", c2, c2, c2);
printf("第三个字符的十进制值为:%d,八进制值为:%o,十六进制值为:%x\n", c3, c3, c3);
return 0;
}
```
需要注意的是,输入字符时要使用%c格式控制符,并且在scanf()函数中需要输入三个%c,分别对应三个字符。同时,输出字符的十进制值、八进制值和十六进制值时需要使用%d、%o和%x格式控制符。
相关问题
C语言从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值( ASCII 码)、八进制值和十六进制值
在C语言中,你可以使用`getchar()`函数从键盘获取用户的输入,并通过ASCII码转换来获取十进制、八进制和十六进制值。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <conio.h> // 包含用于控制台输入的头文件
int main() {
char input[3]; // 存储三个字符
int decimal, octal, hexadecimal;
printf("请输入三个字符:");
for (int i = 0; i < 3; i++) {
input[i] = getchar(); // 获取用户输入的一个字符
printf("第 %d 个字符:'%c'\n", i+1, input[i]);
// 计算ASCII码、八进制和十六进制
decimal = input[i];
octal = (decimal / 8) * 10 + (decimal % 8); // 除法取整再乘以8并加上余数
hexadecimal = input[i] & 0xf; // 取最低四位的二进制,然后转化为十六进制
printf("ASCII码: %d\n", decimal);
printf("八进制: %o\n", octal);
printf("十六进制: %x\n", hexadecimal);
// 每次输入后换行
printf("\n");
}
return 0;
}
```
运行这个程序,输入三个字符后会显示对应的ASCII码、八进制值和十六进制值。
阅读全文