【问题描述】
输入一个m行,n列的矩阵(元素值为整型)存入二维数组,找出其中的值最大的元素(值最大的元素不止一个的话,则找行号、列号小的元素)。输出该元素的值及其所在行号和列号(行号、列号从0开始编号)。
【输入形式】
第一行输入m和n的值
从第二行开始逐行输入矩阵的值。
【输出形式】
第一行输出最大值
第二行输出最大值所在的行号和列号
【样例输入】
4 3
1 2 3
6 5 4
7 8 9
3 9 6
【样例输出】
9
2 2
源代码如下:
#include <stdio.h>
int main(int argc, char *argv[])
{
int a[100][100],m,n,i,j,max;
scanf("%d %d",&m,&n);
for(i=0;i<m;++i)//将数据录入二维数组,此方法最常用!
for(j=0;j<n;++j)
{
scanf("%d",&a[i][j]);
}
max=a[0][0];//让第一个数默认为最大数,后边的数依次比较即可!
for(i=0;i<m;++i)//将数组中的数据一一取出进行比较!
for(j=0;j<n;++j)
{
if(a[i][j]>max)max=a[i][j];
}
printf("%d\n%d %d",max,i-2,j-1);
return 0;
}