本文意在求某二维数组中, 最大值, 且最大值所在行数和列数.
理一理思路:
首先, 根据题意,我们要明白二维数组元素的排列方式, 表达形式, 为了方便介绍,我们先将所有的元素都进行赋值; 创建一个完整的二维数组;(赋初始值是为了方便介绍,也可以从键盘中获取)
其次, 我们要得到行数 , 列数 和最大值, 我们得先申请变量分别来接收 行数, 列数 和最大值的数值;
然后我们得申请变量代表我们的元素, 二维数组存在行 和 列, 那么我们得申请行变量和列变量来分别代表行和列.
重点:怎么去实现求得最大值呢?
我们不妨假设一个数,a [ 0 ] [ 0 ](数组的第一个元素)就是最大值,这是假设条件,不用在意到底是不是。
为什么这么假设呢?
因为我们要求得这个数组的最大值,那么我们肯定就需要对这个数组进行遍历(游走一边左右的值),最方便的就是顺序遍历,从第一个元素开始,既然是第一个元素开始遍历,那就干脆假设第一个元素就是最大值好了,它自动依次和后面的元素进行比较。
如果后面的值大于a [ 0 ][ 0 ], 那么发生交换,发生交换后,在同一行中继续比较,同一行比较完后,列数增加,到下一行进行比较,当所有行数和列数都比较完了的时候,最大数就出来了。
在此,我们要清楚二维数组是按照顺序依次进行排列的。
最后, 进行比较和输出.
具体实现过程如下:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#incl