c++输入15个学号,成绩输出平均值最高的学号
时间: 2024-12-19 22:27:38 浏览: 9
在C++中,你可以使用数组或动态存储来存储学生的学号和成绩,然后通过遍历数据来找出平均值最高的学号。以下是简化的步骤:
1. 定义一个结构体或类`Student`,包含学号`id`和成绩`score`两个字段。
```cpp
struct Student {
int id;
int score;
};
```
2. 创建一个数组或者vector来存储学生信息,假设大小为15,因为题目要求输入15个学号和成绩。
```cpp
std::vector<Student> students(15);
```
3. 使用循环结构获取用户输入的学号和成绩,并保存到相应的结构体中。
4. 计算所有学生的总分以及每个学生的平均分。
5. 使用一个变量`max_avg`记录当前找到的最大平均分,同时记录下对应的学生ID。
6. 遍历结束后,输出平均分最高的学号。
以下是一个简单的示例程序框架:
```cpp
#include <iostream>
#include <vector>
// 定义学生结构体
struct Student {
int id;
int score;
};
int main() {
std::vector<Student> students;
// 输入15个学号和成绩
for (int i = 0; i < 15; ++i) {
std::cout << "请输入第" << i+1 << "位学生的学号和成绩:";
int id, score;
std::cin >> id >> score;
students.push_back({id, score});
}
// 初始化最大平均分和对应的学号
double max_avg = 0;
int max_id = -1;
// 计算平均分并更新最高分
for (const auto& student : students) {
double avg_score = static_cast<double>(student.score) / 1;
if (avg_score > max_avg) {
max_avg = avg_score;
max_id = student.id;
}
}
// 输出平均分最高的学号
std::cout << "平均分最高的学号是:" << max_id << std::endl;
return 0;
}
```
阅读全文