C++由键盘输入N名学生姓名,再按字典排列输出N名学生的姓名。
时间: 2024-10-06 14:04:13 浏览: 42
学生成绩信息输入排序输出
在C++中,你可以通过以下步骤实现这个功能:
1. **获取输入**:首先,创建一个名为`std::vector<std::string>`的动态数组,用于存储学生的姓名。使用`cin`从用户那里获取N个学生姓名作为输入。
```cpp
int N;
std::cout << "请输入学生人数(N): ";
std::cin >> N;
std::vector<std::string> students(N);
for (int i = 0; i < N; ++i) {
std::cout << "请输入第" << i+1 << "位学生姓名: ";
std::cin >> students[i];
}
```
2. **排序**:然后,对收集到的学生姓名进行字典序排序。可以使用`std::sort`函数配合`std::less`比较器,因为默认的字符串比较就是字典顺序。
```cpp
std::sort(students.begin(), students.end());
```
3. **输出结果**:最后,遍历并打印已排序的学生姓名。
```cpp
std::cout << "按字典顺序排列的学生姓名如下:\n";
for (const auto& name : students) {
std::cout << name << " ";
}
```
完整的代码示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int N;
std::cout << "请输入学生人数(N): ";
std::cin >> N;
std::vector<std::string> students(N);
for (int i = 0; i < N; ++i) {
std::cout << "请输入第" << i+1 << "位学生姓名: ";
std::cin >> students[i];
}
std::sort(students.begin(), students.end());
std::cout << "\n按字典顺序排列的学生姓名如下:\n";
for (const auto& name : students) {
std::cout << name << " ";
}
return 0;
}
阅读全文