求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。

简介: 求出N×M整型数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。

功能:求出N×M整型数组的最大元素及其所在的行坐标及

列坐标(如果最大元素不唯一,选择位置在最前面

的一个)。

例如:输入的数组为:

1 2 3

4 15 6

12 18 9

10 11 2

求出的最大数为18,行坐标为2,列坐标为1。


代码如下所示:

#include <stdio.h>
#define N 4
#define M 3
int Row, Col;//将行列定义为全局变量,在传递参数时,就不需要传递这两个数
int fun(int arr[N][M])
{
  int i, j, max_arr;
  max_arr = arr[0][0];//先将二维数组中的最大值初始化为数组中的第一个数
                    //不要习惯性的初始化为0
  for (i = 0; i < N; i++)//遍历二维数组找出最大值
  {
    for (j = 0; j < M; j++)
      if (max_arr < arr[i][j])
      {
        max_arr = arr[i][j];//得到数组中的最大值
        Row = i;//得到最大数的行
        Col = j;//得到最大数的列
      }
  } 
  return (max_arr);//将最大值返回给主函数
}
int main()
{
  int arr[N][M], i, j,d;
  printf("please to input numbers:\n");
  for (i = 0; i < N; i++)//从键盘输入二维数组
  {
    for (j = 0; j < M; j++)
    {
      scanf_s("%d", &arr[i][j]);
    }
  }
  printf("the result are:");
  d = fun(arr);//调用函数
  printf("max_arr=%d,max_arr_Row=%d,max_arr_Col=%d", d,Row,Col);
}

输出如下所示:

相关文章
为数组arr中的每一个元素求二次方
为数组arr中的每一个元素求二次方
|
C语言
C语言之给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可,位置从1开始)。
C语言之给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可,位置从1开始)。
404 0
|
9月前
用几种方法输出二维数组各元素的值。
用几种方法输出二维数组各元素的值。
110 4
|
9月前
|
算法 程序员 测试技术
【算法训练-二分查找 二】【旋转二分】旋转排序数组的最小数字、旋转排序数组的指定数字
【算法训练-二分查找 二】【旋转二分】旋转排序数组的最小数字、旋转排序数组的指定数字
54 0
【算法训练-二分查找 二】【旋转二分】旋转排序数组的最小数字、旋转排序数组的指定数字
|
9月前
|
存储 算法 Java
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
61 0
|
9月前
|
C++ 容器
[C++] 对二维数组中的二维坐标点x,y进行排序
[C++] 对二维数组中的二维坐标点x,y进行排序
217 0
|
网络架构 Python
矩阵各行元素之和
矩阵各行元素之和
111 0
剑指offer_数组---顺时针打印矩阵
剑指offer_数组---顺时针打印矩阵
62 0
给定三个顶点的坐标使用程序计算三角形
给定三个顶点的坐标使用程序计算三角形
96 0
R7-5 求矩阵各行元素之和
R7-5 求矩阵各行元素之和
121 0