酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

查询分数2 c++ 题目内容 全部提交 我的提交 题目统计 简单 时间限制: 1000ms 内存限制: 256mb 分数:100 oi排行榜得分:12(0.1*分数+2*难度) 数组 第十六讲(level1-1) 第八讲(level1) 描述 童程童美学院对某班级的n名同学进行了一次测试。要求编写程序:输入n名学生的成绩,以每名学生的学号作为输入的顺序( 学号从1开始)。再输入某名学生的学号,查询该名学生的成绩。 输入描述 三行; 一行一个正整数n,代表n名学生(1≤n≤100); 一行n个整数,表示n名学生的分数,数值之间使用空格分隔(0≤分数≤100); 一行一个正整数id,表示某名学生的学号(1≤id≤100)。 输出描述 一行一个整数,代表某名学生的成绩。

编写代码 下面是实现题目要求的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)结束查询。这样可以避免重复编写查询逻辑。 [2024-12-05 19:26:12 | AI写代码神器 | 362点数解答]

相关提问