输入20个学生成绩,按分数段统计各段人数C++
时间: 2024-10-28 07:13:08 浏览: 9
VC++各分数段学生人数统计
在C++中,你可以使用`std::map`或自定义结构体以及循环来统计20个学生成绩并按分数段进行分组。这里是一个简单的示例,假设成绩范围分为5个段:
```cpp
#include <iostream>
#include <map>
// 定义一个结构体表示学生及其分数
struct Student {
int score;
};
int main() {
std::map<int, int> gradeCounts; // 用于存储每个分数段的学生数
// 假设已经有了20个学生的分数数组 scores
const int numStudents = 20;
Student students[numStudents];
for (int i = 0; i < numStudents; ++i) {
// 获取第i个学生的分数
int score = students[i].score;
// 分段统计
if (score >= 90) { gradeCounts[90]++; }
else if (score >= 80) { gradeCounts[80]++; }
else if (score >= 70) { gradeCounts[70]++; }
else if (score >= 60) { gradeCounts[60]++; }
else { gradeCounts[<59]++; } // 分数小于60的情况
// 如果你想添加更多分数段,只需增加条件判断即可
}
// 输出每个分数段的人数
for (const auto& pair : gradeCounts) {
std::cout << "分数段[" << pair.first << ", " << pair.first + 10 << ")有 " << pair.second << "名学生" << std::endl;
}
return 0;
}
```
阅读全文