本题要求实现一个函数,统计结构体中成绩项在60-79分的所有人员,并将它们保存到新的结构体数组中。 结构体包含2个域:学号和成绩。
时间: 2024-09-26 13:09:53 浏览: 26
这个问题需要你在编程语言中设计一个解决方案,例如在C++或Python中。首先,你需要定义一个结构体(struct)表示学生信息,包含学号(ID)和成绩(Score)。然后,你可以创建一个函数来遍历给定的学生列表,筛选出成绩在60-79之间的学生,并将这些学生的信息复制到一个新的结构体数组(vector或list)中。
这里是一个简单的C++示例:
```cpp
#include <iostream>
#include <vector>
// 定义学生结构体
struct Student {
int id;
int score;
};
// 函数来筛选并返回60-79分的学生
std::vector<Student> filterStudents(const std::vector<Student>& students) {
std::vector<Student> filteredStudents; // 新的结构体数组
for (const auto& student : students) {
if (student.score >= 60 && student.score <= 79) {
filteredStudents.push_back(student); // 如果分数在范围内,则添加到新数组
}
}
return filteredStudents;
}
int main() {
// 示例学生数据
std::vector<Student> originalStudents = { {1, 65}, {2, 80}, {3, 75}, {4, 62} };
// 使用filterStudents函数
std::vector<Student> filtered = filterStudents(originalStudents);
// 输出筛选结果
for (const auto& student : filtered) {
std::cout << "学号: " << student.id << ", 分数: " << student.score << "\n";
}
return 0;
}
```
在这个例子中,`filterStudents`函数接受一个学生的向量作为输入,然后返回一个新的向量,只包含60-79分的学生。
阅读全文