用c++语言编写一个班第一组有10民学生,进行了语文考试,将得到的成绩输入一组数据,并求出平均成绩优(90~100),良(80~89),中(70~79),及格(60~69),不及格(0~59)学生人数 }
时间: 2024-10-12 20:05:15 浏览: 20
C++实验报告.docx
在C++中,你可以创建一个简单的程序来实现这个需求。首先,我们需要定义一个结构体来存储每个学生的姓名和分数,然后定义一个函数来计算并分类成绩。这里是一个基本的示例:
```cpp
#include <iostream>
#include <string>
#include <vector>
// 定义一个学生结构体
struct Student {
std::string name;
int score;
};
// 函数来计算和分类成绩
void classifyGrades(const std::vector<Student>& students) {
int total = 0;
int excellent = 0, good = 0, average = 0, pass = 0, fail = 0;
for (const auto& student : students) {
total += student.score;
if (student.score >= 90 && student.score <= 100)
excellent++;
else if (student.score >= 80 && student.score < 90)
good++;
else if (student.score >= 70 && student.score < 80)
average++;
else if (student.score >= 60 && student.score < 70)
pass++;
else // 分数低于60
fail++;
}
double averageScore = static_cast<double>(total) / students.size();
std::cout << "平均成绩:" << averageScore << std::endl;
std::cout << "优秀学生(" << excellent << "): " << std::endl;
for (const auto& student : students) {
if (student.score >= 90 && student.score <= 100)
std::cout << student.name << " (" << student.score << ")" << std::endl;
}
std::cout << "\n良好学生(" << good << "):" << std::endl;
// ...以此类推,按同样的方式输出其他分类的学生
}
int main() {
// 创建一个包含10名学生的向量
std::vector<Student> students = {
{"张三", 95}, {"李四", 88}, {"王五", 75}, {"赵六", 92},
{"孙七", 80}, {"周八", 72}, {"吴九", 68}, {"郑十", 77},
{"陈十一", 90}, {"刘十二", 74}
};
classifyGrades(students);
return 0;
}
```
运行此程序会输出每位学生的成绩以及各类别的学生人数。请注意,为了简洁起见,这里只列出了部分良好、及格和不及格的学生名字。在实际应用中,你可以根据需要添加更多的条件分支来完整地显示所有分类。
阅读全文