题目:
本题目要求读入M(最大为10)行N(最大为15)列个元素,找出其中最大的元素,并输出其行列值。
输入格式:
输入在第一行中给出行数m和列数n。接下来输入m*n个整数。
输出格式:
输出最大值的行号,列号,值。
输入样例:
2 3
1 2 3
4 5 6
输出样例:
1,2,6
代码限制:
代码长度限制:16 KB
时间限制:400 ms
内存限制:64 MB
代码:
#include <stdio.h>
// 寻找二维数组最大值的函数
int find_max_value(int matrix[10][15], int rows, int cols, int *max_row, int *max_col) {
// 初始化最大值在第一个元素
int max_value = matrix[0][0];
// 传址
*max_row = 0;
*max_col = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (matrix[i][j] > max_value) {
max_value = matrix[i][j];
*max_row = i;
*max_col = j;
}
}
}
return max_value;
}
int main() {
// 输入二维数组的行数和列数
int m, n;
scanf("%d %d", &m, &n);
// 初始化二维数组
int matrix[10][15];
// 输入二维数组元素
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 定义需要返回的行下标和列下标
int row_index = 0;
int col_index = 0;
// 调用函数求解
int max_value = find_max_value(matrix, m, n, &row_index, &col_index);
// 输出结果
printf("%d,%d,%d\n", row_index, col_index, max_value);
return 0;
}
文章出处登录后可见!
已经登录?立即刷新