数据结构 | 寻找二维数组的最大值和对应下标 | C语言代码

题目:

        本题目要求读入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;
}

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年12月26日
下一篇 2023年12月26日

相关推荐