C++ 实现:输入班上学生信息并倒序输出,附代码解析与注意要点
以下是一个用 C++ 实现的程序,用于统计班上学生的信息,并将输入的学生信息倒序输出。 ```cpp #include <iostream> #include <vector> #include <string> // 定义学生结构体 struct Student { int id; // 学号 std::string name; // 姓名 char gender; // 性别 double score; // 成绩 }; int main() { int n; std::cout << "请输入学生的数量: "; std::cin >> n; std::vector<Student> students(n); // 输入学生信息 for (int i = 0; i < n; ++i) { std::cout << "请输入第 " << i + 1 << " 个学生的信息(学号 姓名 性别 成绩): "; std::cin >> students[i].id >> students[i].name >> students[i].gender >> students[i].score; } // 倒序输出学生信息 for (int i = n - 1; i >= 0; --i) { std::cout << "学号: " << students[i].id << ", 姓名: " << students[i].name << ", 性别: " << students[i].gender << ", 成绩: " << students[i].score << std::endl; } return 0; } ``` 代码解释 1. 结构体定义:定义了一个 `Student` 结构体,包含学号、姓名、性别和成绩四个成员。 2. 输入学生数量:通过 `std::cin` 读取学生的数量 `n`。 3. 创建学生向量:使用 `std::vector<Student>` 存储所有学生的信息。 4. 输入学生信息:使用 `for` 循环依次输入每个学生的信息。 5. 倒序输出学生信息:使用 `for` 循环从最后一个学生开始,依次输出每个学生的信息。 额外注意的逻辑点 1. 输入验证:代码没有对用户输入进行验证,例如输入的性别是否合法(一般为 `'M'` 或 `'F'`),成绩是否在合理范围内等。可以添加输入验证逻辑来增强程序的健壮性。 2. 内存管理:使用 `std::vector` 时,不需要手动管理内存,但要注意当学生数量非常大时,可能会占用较多的内存。 3. 输出格式:代码中的输出格式可以根据实际需求进行调整,例如可以使用更美观的表格形式输出。 ######[AI写代码神器 | 589点数解答 | 2025-07-05 14:12:49]
- Java:抽象类 Vehicle 及子类 Car、MotorBike 实战演示(讯飞星火 | 440点数解答 | 2024-06-06 23:18:54)319
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)369
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)383
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)362
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)207
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)296
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)317
- Java程序模拟教学选课:林老师开课,58 位学生选课男女比例大揭秘( | 2653点数解答 | 2024-04-02 11:00:16)481
- Java程序设计课程:模拟教学管理,统计58位选课学生男女比重( | 363点数解答 | 2024-04-05 18:31:39)485
- R语言实战:用配对样本t检验评估课程强化集训对学生成绩的提升效果(GPT | 630点数解答 | 2024-11-26 22:00:01)332
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)333
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)487