C++实现学生成绩查询:代码详解、逻辑补充与扩展性提升
编写代码 下面是实现题目要求的C++代码: ```cpp #include <iostream> #include <vector> int main() { int n; std::cin >> n; // 读取学生人数 std::vector<int> scores(n); for (int i = 0; i < n; ++i) { std::cin >> scores[i]; // 读取每个学生的分数 } int id; std::cin >> id; // 读取要查询的学生学号 // 根据学号输出对应学生的分数(学号从1开始,数组索引从0开始,因此学号减1) std::cout << scores[id - 1] << std::endl; return 0; } ``` 逻辑补充 1. 输入验证:在实际应用中,应对输入进行更严格的验证,比如确保输入的学生人数`n`和学号`id`在合法范围内,输入的分数也在0到100之间。虽然题目已经限定了输入范围,但在更复杂的场景下,增加输入验证会使程序更健壮。 2. 异常处理:当输入的学号`id`超出实际学生人数范围时,当前代码会直接访问数组越界的位置,导致未定义行为。可以增加一个判断,如果`id`不在1到`n`的范围内,输出错误信息或进行其他异常处理。 3. 代码扩展性:如果以后需要查询多个学生的成绩,可以考虑将查询学号作为一个循环输入,直到某个特定条件(如输入0)结束查询。这样可以避免重复编写查询逻辑。 ######[AI写代码神器 | 362点数解答 | 2024-12-05 19:26:12]
相关提问
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)410
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)354
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)345
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)340
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)219
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)59
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)62
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)59
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)343
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)226
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)432
- Java程序模拟教学选课:林老师开课,58 位学生选课男女比例大揭秘( | 2653点数解答 | 2024-04-02 11:00:16)470