某校期中考试结束,学校采用一台阅卷机阅卷。老师在检查大家的成绩时,发现阅卷机阅卷有误,因此不得不手动调整大家的成绩。 现已知有 n 个同学成绩,需要做 p 次调整,每次调整操作都是将第 x 个同学到第 y 个同学每位同学成绩都加上 z 分。 请问:经过调整后,全班同学成绩的最低分是多少分? C++实现
时间: 2024-04-10 13:28:26 浏览: 36
以下是C++实现的代码示例:
```cpp
#include <iostream>
#include <vector>
#include <limits>
int main() {
int n, p;
std::cout << "请输入同学数量 n 和调整次数 p:" << std::endl;
std::cin >> n >> p;
std::vector<int> scores(n);
std::cout << "请输入每位同学的成绩:" << std::endl;
for (int i = 0; i < n; i++) {
std::cin >> scores[i];
}
std::cout << "请输入每次调整的起始位置 x、结束位置 y 和调整的分数 z:" << std::endl;
for (int i = 0; i < p; i++) {
int x, y, z;
std::cin >> x >> y >> z;
for (int j = x - 1; j <= y - 1; j++) {
scores[j] += z;
}
}
int minScore = std::numeric_limits<int>::max();
for (int i = 0; i < n; i++) {
if (scores[i] < minScore) {
minScore = scores[i];
}
}
std::cout << "调整后全班同学成绩的最低分为:" << minScore << " 分" << std::endl;
return 0;
}
```
这段代码首先会要求输入同学数量 n 和调整次数 p。然后,依次输入每位同学的成绩,并根据输入的调整次数和具体操作进行成绩调整。最后,找出调整后全班同学成绩的最低分并输出。
请注意,这段代码没有对输入进行严格的错误处理,如输入不满足要求可能导致程序出错。在实际应用中,应该进行更加完善的输入验证和错误处理。