C语言:求矩阵中的最大值,同时返回地址!

编程实现:求出矩阵中最大的元素值(并且返回他的地址);

#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#include <time.h>
#include <math.h>
//2023年5月21日18:04:10   学习练习此题


int main(void)
{
	//数组下标从0开始哦!
	int juzhen[3][4] = { {12,14,17,18},{4,67,3,2},{4,58,1,7} };
	int i, j, max,line, column;
	//行列下标索引都为零也就是第一个元素作为最大值  去和后面的比较;
	max = juzhen[0][0];  //把第一个元素地址赋值给max   用于和后面的元素比较;
	for (i = 0; i < 3; i++)
	{
		for (j = 0; j < 4; j++)
		{
			if (juzhen[i][j] > max)
			{
				max = juzhen[i][j];
				//同时将下标索引号赋值给变量然后打印出他的下标索引号;
				line = i;		//行  也就是数组中的层
				column = j;		//列  相当于数组中的列
			}
		}
	}
	printf("矩阵中最大的元素值为:%d
",max);
	printf("最大值的地址为juzhen[%d][%d]
", line, column);



	return 0;
}

注意点:首先要知道无论一维数组 还是二维数组 他们的元素起始地址索引下标都为0;

然后我们声明一个max来接收数组中的首地址元素,使用for循环嵌套进行遍历执行这个矩阵中的所有元素地址下标(也就是每个元素)。

最后,我们使用首地址元素值比较遍历的地址中(数组索引小标)的值,得出最大的值,赋值给max ,同时将最大值的地址(层、列)也赋值给我们事先声明 好的变量。

打印结果——》

运行结果为如下:

经验分享 程序员 微信小程序 职场和发展