本题要求实现一个函数,统计结构体中成绩项在60-79分的所有人员,并将它们保存到新的结构体数组中。 结构体包含2个域:学号和成绩。
时间: 2024-09-21 21:09:08 浏览: 42
这个问题需要编写一个程序,首先定义一个结构体(struct),比如在C++中可以这样定义:
```cpp
// 定义学生成绩结构体
struct Student {
int id; // 学号
int score; // 成绩
};
```
然后你需要创建一个函数,该函数接收一个Student类型的数组作为输入,遍历这个数组,检查每个学生的成绩是否在60到79之间,如果满足条件,则将其添加到一个新的Student数组中。这里我们假设新数组已经预先分配了足够的空间。
```cpp
// 定义一个函数,用于筛选并返回成绩在60-79之间的学生
void filterStudents(Student* inputArray, size_t inputSize, Student* outputArray, size_t& outputSize) {
for (size_t i = 0; i < inputSize; ++i) {
if (inputArray[i].score >= 60 && inputArray[i].score <= 79) {
// 将符合条件的学生复制到outputArray
outputArray[outputSize] = inputArray[i];
++outputSize;
}
}
}
```
在这个函数中,`inputArray`是原数组,`inputSize`是原数组的长度,`outputArray`是结果数组,`outputSize`是结果数组当前已填充元素的数量。函数结束后,`outputSize`会表示新数组中有多少个成绩在60-79范围内的学生。