题目描述
找出一个2×3的整数矩阵中的最大值及其行下标和列下标,要求调用函数FindMax(int p[][3], int m, int n, int *pRow, int *pCol)实现,行下标和列下标在形参中以指针的形式返回。
void FindMax(int p[][3], int m, int n, int *pRow, int pCol){
//在mn矩阵p中查找最大值,将其行下标存入pRow所指内存单元,将其列下标存入pCol所指内存单元
}
输入描述
输入2行3列整数,共6个。
输出描述
输出3个整数,矩阵中的最大值及其行下标和列下标,数据之间用空格隔开。测试数据保证最大值唯一。
输入样例
100 3 6
0 87 65
输出样例
100 0 0
#include <stdio.h>
void FindMax(int p[][3], int m, int n, int ×pRow, int ×pCol) {
int max = p[0][0];
×pRow = 0;
×pCol = 0;
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
if (p[i][j] > max) {
max = p[i][j];
×pRow = i;
×pCol = j;
}
}
}
}
int main() {
int matrix[2][3];
// 输入矩阵
for (int i = 0; i < 2; ++i) {
for (int j = 0; j < 3; ++j) {
scanf("%d", &matrix[i][j]);
}
}
int maxRow, maxCol;
FindMax(matrix, 2, 3, &maxRow, &maxCol);
// 输出结果
printf("%d %d %d\n", matrix[maxRow][maxCol], maxRow, maxCol);
return 0;
}