从键盘输入一个字符,求出它的前驱和后继字符(按照ASCII码值排序),并按照从小到大的顺序输出这三个字符和对应的ASCII值的c++代码
时间: 2024-09-27 18:16:43 浏览: 143
C语言实验输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。
5星 · 资源好评率100%
在C++中,你可以创建一个简单的程序来完成这个任务。首先,你需要获取用户的输入,然后计算出该字符的ASCII值,找到其前驱和后继字符,最后将结果按顺序输出。以下是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
char findPredecessorAndSuccessor(char input) {
int ascii = static_cast<int>(input); // 转换字符到ASCII值
if (ascii == 'a') { // 对于小写字母,处理首字母的情况
return 'z';
} else if (ascii == 'A') { // 对于大写字母,处理首字母的情况
return 'Z';
}
if (ascii > 64 && ascii < 91) { // 处理大写字母
return static_cast<char>(ascii - 1);
} else if (ascii > 96 && ascii < 123) { // 处理小写字母
return static_cast<char>(ascii + 1);
} else { // 处理其他非字母字符的情况
return input; // 如果不是字母,则保持原样
}
}
int main() {
char input;
cout << "请输入一个字符: ";
cin >> input;
char predecessor = findPredecessorAndSuccessor(input);
cout << "字符: " << input << ", ASCII值: " << static_cast<int>(input) << endl;
cout << "前驱字符: " << predecessor << ", ASCII值: " << static_cast<int>(predecessor) << endl;
if (predecessor != input) {
cout << "后继字符: " << findPredecessorAndSuccessor(predecessor) << ", ASCII值: " << static_cast<int>(findPredecessorAndSuccessor(predecessor)) << endl;
} else {
cout << "无法找到后继,因为已经是最小或最大字符" << endl;
}
return 0;
}
```
阅读全文