编程实现:求出矩阵中最大的元素值(并且返回他的地址);
#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\n",max);
printf("最大值的地址为juzhen[%d][%d]\n", line, column);
return 0;
}
注意点:首先要知道无论一维数组 还是二维数组 他们的元素起始地址索引下标都为0;
然后我们声明一个max来接收数组中的首地址元素,使用for循环嵌套进行遍历执行这个矩阵中的所有元素地址下标(也就是每个元素)。
最后,我们使用首地址元素值比较遍历的地址中(数组索引小标)的值,得出最大的值,赋值给max ,同时将最大值的地址(层、列)也赋值给我们事先声明 好的变量。
打印结果——》
运行结果为如下: