有三个学生,各四门课,定义二维数组score[3][4]来存放成绩。要求找出其中有不及格课程的学生并输出该学生的全部成绩。要求编写返回指针的函数search来查询学生成绩。
时间: 2023-11-27 20:02:38 浏览: 76
好的,我明白了。下面是代码实现:
```c++
#include <iostream>
using namespace std;
int **search(int score[][4], int size) {
int count = 0;
int **result = new int*[size];
for (int i = 0; i < size; i++) {
bool fail = false;
for (int j = 0; j < 4; j++) {
if (score[i][j] < 60) {
fail = true;
break;
}
}
if (fail) {
result[count] = new int[4];
for (int k = 0; k < 4; k++) {
result[count][k] = score[i][k];
}
count++;
}
}
result[count] = NULL;
return result;
}
int main() {
int score[3][4] = { {85, 74, 92, 68},
{66, 89, 59, 77},
{80, 82, 91, 56} };
int **result = search(score, 3);
int count = 0;
while (result[count] != NULL) {
for (int i = 0; i < 4; i++) {
cout << result[count][i] << "\t";
}
cout << endl;
count++;
}
return 0;
}
```
这段代码定义了一个函数`search`,参数包括二维数组`score`和数组大小`size`。通过双重循环,在成绩数组中查找不及格的学生,并将其全部成绩保存在指针数组`result`中。最后在`main`函数中输出查询结果。
阅读全文