用c++编译某小组有10个学生,进行了数学考试,求他们数学成绩的平 均分、最高分和最低分。
时间: 2024-10-26 16:17:56 浏览: 16
在C++中,你可以使用结构体(struct)来表示学生的数据,包括姓名和成绩。首先定义一个结构体`Student`:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 需要用到这个头文件来进行排序操作
// 定义一个结构体存储学生信息
struct Student {
std::string name;
int score;
};
int main() {
const int NUM_STUDENTS = 10; // 小组学生人数
std::vector<Student> students(NUM_STUDENTS); // 创建一个包含10个元素的学生向量
double total_score = 0; // 存储总分数
int max_score = 0; // 存储最高分
int min_score = INT_MAX; // 存储最低分,默认值设置为整型最大值以防初始化为负数
// 输入每个学生的姓名和成绩
for (int i = 0; i < NUM_STUDENTS; ++i) {
std::cout << "请输入第" << i+1 << "位同学的姓名和分数:";
std::cin >> students[i].name >> students[i].score;
total_score += students[i].score;
if (students[i].score > max_score) {
max_score = students[i].score;
}
if (students[i].score < min_score) {
min_score = students[i].score;
}
}
// 计算平均分
double average_score = total_score / NUM_STUDENTS;
// 输出结果
std::cout << "平均分:" << average_score << std::endl;
std::cout << "最高分:" << max_score << std::endl;
std::cout << "最低分:" << min_score << std::endl;
return 0;
}
```
阅读全文