C Language Logo
C语言二级在线二级在线
首页选择题程序题成为会员帮助其他科目

矩阵最大数及位置下标

请修改编辑器中的代码,完成以下功能:编写一个函数 func,用于找出二维数组中的最大值及其所在的行列位置。该函数接收一个二维数组指针、数组的行数和列数,以及两个指向整型变量的指针。函数返回最大值,并通过指针返回最大值所在的行和列。在 main 函数中定义一个二维数组,并调用 func 函数,最后输出最大值及其行列位置。 不需要输入 输出示例: 27 1 2

#include <stdio.h>

int func(int (*p)[4], int m, int n, int *pRow, int *pCol)
{
	int i, j, max;
	max = *p;
	*pRow = 0;
	*pCol = 0;
	for (i=0;i<m;i++)
	{
		for (j=0;j<n;j++)
		{
			if ( *(*(p+i)+j) > max)
			{
				max = *(*(p+i) + j);
				*pRow = i;
				*pCol = i + j;
			}
		}
	}
	return *max;
}

int main(void)
{
	int aa[3][4] = {{1,3,5,7},{21,19,27,22},{11,17,18,20}};
	int maxVal, row, col;
	maxVal = func(aa, 3, 4, &row, &col);
	printf("%d %d %d\n", maxVal, row, col);
	return 0;
}

控制台

调试终端

准备就绪