利用二维数组求矩阵的最大值和最小值,并求出其位置

Problem Description

输入一个二维数组,在二维数组中找出最大值和最小值,并指出其位置。

Input

输入一个二维数组

Output

输出最大值和最小值,和对应的位置。

 Sample Input

1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16

Sample Output

min=1,a[0][0]

max=16,a[4][4]

代码如下:

#include<stdio.h>
#include<stdlib.h>
int main( )
{
    int b,c,i,j,max,min;
    int a[4][4];
    b=c=0;
    for(i=0;i<4;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&a[i][j]);//矩阵元素初始化
        }
    }
    min=a[0][0];//初始化
     for(i=0;i<4;i++)//比较元素值,找最小值
    {
        for(j=0;j<4;j++)
        {
            if(a[i][j]<min)
            {
                min=a[i][j];
                b=i;
                c=j;
            }
        }
    }
    printf("min=%d,a[%d][%d]\n",min,b,c);//输出最小值及其位置
    max=a[0][0];//初始化
     for(i=0;i<4;i++)//比较元素值,找最大值
    {
        for(j=0;j<4;j++)
        {
            if(a[i][j]>max)
            {
                max=a[i][j];
                b=i;
                c=j;
            }
        }
    }
    printf("max=%d,a[%d][%d]\n",max,b,c);//输出最大值及其位置

    return 0;
}


版权声明:本文为Moouyang_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。