教务处的老师总会被询问本次考试80分以上多少人?90分以上多少人?教务处老师每次筛查很麻烦,他找到皮皮,希望有个程序可以输入n个同学成绩,输入要查询x分,输出x分(包含x)以上的人数。c++
时间: 2024-09-15 11:13:11 浏览: 54
在C++中,你可以创建一个简单的函数或算法来解决这个问题,比如使用一个vector存储学生分数,然后遍历一次来查找满足条件的学生数量。这里有一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
// 假设score[]存储了所有学生的分数
int getNumberOfStudentsAbove(int scores[], int n, int x) {
std::vector<int> studentScores(scores, scores+n); // 将分数复制到vector便于操作
int count = std::count(studentScores.begin(), studentScores.end(), x); // 统计等于或大于x的分数数量
return count;
}
int main() {
int n;
cout << "请输入学生人数: ";
cin >> n;
// 假设scores[]是已知的分数数组,实际应用中需要从用户那里读取
int* scores = new int[n];
for (int i = 0; i < n; ++i) {
cout << "请输入第 " << (i+1) << " 人的分数: ";
cin >> scores[i];
}
int x;
cout << "请输入查询分数: ";
cin >> x;
int aboveX = getNumberOfStudentsAbove(scores, n, x);
std::cout << "在80分以上(含80分)的人数有: " << aboveX << "\n";
delete[] scores; // 删除动态分配的内存
// 类似地,再次输入x查询90分以上的数量
int above90 = getNumberOfStudentsAbove(scores, n, 90);
std::cout << "在90分以上(含90分)的人数有: " << above90 << "\n";
return 0;
}
阅读全文