从键盘输入一个字符,求出这个字符前后两个字符,并从小到大输出三个字符的ASCII码
时间: 2024-09-24 12:06:29 浏览: 148
当你从键盘输入一个字符时,首先需要获取用户的输入并将其转换为`char`类型。假设用户输入的是字符'a',你可以通过以下步骤来获取前后两个字符(如果存在的话)并计算它们的ASCII码:
1. 获取用户输入:
```cpp
#include <iostream>
#include <string>
int main() {
std::cout << "请输入一个字符: ";
char input;
std::cin >> input;
```
2. 如果用户只输入了一个字符,我们可以先判断是否有前一个字符,如果没有则默认它是空格或其他预设字符:
```cpp
if (std::cin.fail()) { // 输入错误检查
std::cout << "输入无效,请重新输入一个字符.\n";
return 0;
}
char prev_char = '\0'; // 假设前一个字符为空
if (std::cin.peek() != '\n') { // 如果还有下一个字符
prev_char = std::cin.get(); // 获取当前输入并删除
}
```
3. 同理,判断是否有后一个字符:
```cpp
char next_char = '\0';
if (std::cin.peek() != '\n') {
next_char = std::cin.get();
}
```
4. 计算ASCII码并按顺序输出:
```cpp
std::cout << "输入字符 (" << input << ") 的ASCII码: " << static_cast<int>(input) << "\n";
std::cout << "前一个字符 (" << prev_char << ") 的ASCII码: " << static_cast<int>(prev_char);
std::cout << "后一个字符 (" << next_char << ") 的ASCII码: " << static_cast<int>(next_char) << "\n";
```
注意,这里我们假定用户一次只会输入一个字符,实际应用中可能需要额外处理输入流和边界情况。
阅读全文