输入学生5门课成绩(满分100),记录到数组,分别计算该学生五门成绩的最高分、最低分和平均数,并输出 c++
时间: 2024-09-23 11:11:44 浏览: 112
在 C++ 中,你可以使用结构体存储学生的成绩信息,然后遍历数组来计算最高分、最低分和平均数。以下是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
// 定义学生分数结构体
struct StudentScore {
int subject;
int score;
};
// 函数声明
void calculateStats(const std::vector<StudentScore>& scores);
double findMax(const std::vector<int>& values);
double findMin(const std::vector<int>& values);
double calculateAverage(const std::vector<int>& values);
int main() {
// 存储5门课的成绩,这里只列出部分数据,实际应用会需要用户输入
std::vector<StudentScore> studentScores = {
{1, 95},
{2, 88},
{3, 92},
{4, 86},
{5, 97}
};
// 调用函数计算并输出结果
calculateStats(studentScores);
return 0;
}
// 计算统计信息的函数
void calculateStats(const std::vector<StudentScore>& scores) {
int maxScore = findMax({score.score for (const auto& score : scores});
int minScore = findMin({score.score for (const auto& score : scores});
double averageScore = calculateAverage({score.score for (const auto& score : scores});
std::cout << "最高分: " << maxScore << "\n";
std::cout << "最低分: " << minScore << "\n";
std::cout << "平均分: " << averageScore << "\n";
}
// 辅助函数用于找到最大值
double findMax(const std::vector<int>& values) {
if (values.empty()) {
throw std::invalid_argument("Vector is empty");
}
return *std::max_element(values.begin(), values.end());
}
// 辅助函数用于找到最小值
double findMin(const std::vector<int>& values) {
if (values.empty()) {
throw std
```
阅读全文