用c++写输入n个字符,根据ASCII码值的大小,输出其中ASCII值第二大和第二小的字符
时间: 2024-02-12 09:10:04 浏览: 170
C语言实验输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这3个字符及其对应的ASCII码值。
5星 · 资源好评率100%
可以使用 STL 中的 `vector` 来保存输入的字符,然后排序后输出第二大和第二小的字符即可。具体代码如下所示:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
vector<char> vec;
cout << "请输入n个字符:";
cin >> n;
// 读入n个字符
for (int i = 0; i < n; i++) {
char c;
cin >> c;
vec.push_back(c);
}
// 排序
sort(vec.begin(), vec.end());
// 输出第二小的字符
cout << "ASCII值第二小的字符为:" << vec[1] << endl;
// 输出第二大的字符
cout << "ASCII值第二大的字符为:" << vec[n-2] << endl;
return 0;
}
```
需要注意的是,如果输入的字符数量小于 2,上述代码会导致越界,因此需要根据具体情况进行判断。
阅读全文