求出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);
}

输出如下所示:

相关文章
|
算法 C# C++
HOperatorSet.GenRectangle1 参数是负数的矩形
HOperatorSet.GenRectangle1 参数是负数的矩形
|
C语言
C语言之给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可,位置从1开始)。
C语言之给定n个数据, 求最大值出现的位置(如果最大值出现多次,求出第一次出现的位置即可,位置从1开始)。
388 0
|
7月前
|
算法
算法题—顺时针打印矩阵
算法题—顺时针打印矩阵
50 0
|
7月前
|
存储 算法 Java
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
给定一组棋子的坐标,判断是否可以互相攻击。如果两个棋子的横纵坐标任意一个相同,则认为它们可以互相攻击。(提示:使用哈希表)
53 0
|
7月前
|
C++ 容器
[C++] 对二维数组中的二维坐标点x,y进行排序
[C++] 对二维数组中的二维坐标点x,y进行排序
200 0
|
网络架构 Python
矩阵各行元素之和
矩阵各行元素之和
100 0
|
人工智能
1215 数组的宽度 单调栈
1215 数组的宽度 单调栈
48 0
R7-5 求矩阵各行元素之和
R7-5 求矩阵各行元素之和
111 0
|
算法 前端开发 程序员
顺时针打印矩阵
顺时针打印矩阵
顺时针打印矩阵
下一篇
DataWorks