编程:数组存储3名同学5门课程成绩 输出最好成绩及所在的行和列 要求:将输入、查找和打印的功能编写成函数 并将二维数组通过指针参数传递的方式由主函数传递到子函数中 输入格式: 每行输入一个同学的5门课的成绩,每个成绩之间空一格,见输入样例 输出格式: 输出共3行: 第一行输出,如:最高分是:97 第二行输出最高分所在的行数,如:行数是:2 第二行输出最高分所在的列数,如:列数是:3
时间: 2023-11-27 21:55:15 浏览: 241
以下是代码实现:
```c++
#include <iostream>
using namespace std;
const int ROW = 3;
const int COL = 5;
void input(int arr[][COL]) {
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
cin >> arr[i][j];
}
}
}
void findMax(int arr[][COL], int& maxVal, int& row, int& col) {
maxVal = arr[0][0];
row = 0;
col = 0;
for (int i = 0; i < ROW; i++) {
for (int j = 0; j < COL; j++) {
if (arr[i][j] > maxVal) {
maxVal = arr[i][j];
row = i;
col = j;
}
}
}
}
void output(int maxVal, int row, int col) {
cout << "最高分是:" << maxVal << endl;
cout << "行数是:" << row + 1 << endl;
cout << "列数是:" << col + 1 << endl;
}
int main() {
int arr[ROW][COL];
input(arr);
int maxVal, row, col;
findMax(arr, maxVal, row, col);
output(maxVal, row, col);
return 0;
}
```
这里定义了三个函数,分别用于输入数组、查找最大值以及输出结果。由于需要通过指针参数传递二维数组,因此在函数声明时需要使用二维数组的指针类型。在主函数中,先输入数组,然后调用查找最大值的函数,最后输出结果。注意要将行和列数加1,以便于与人类习惯的从1开始计数的方式一致。
阅读全文