二维数组最大值及位置
Description
有一个3*4的矩阵,要求编程求出其中值最大的那个元素,以及其所在的行号和列号。(如果最大数有多个,则显示第1个出现的数据的信息)
Input
从键盘输入12个数字组成一个3*4的矩阵
Output
输出矩阵中最大值,以及其所在的行号和列号。如有多个最大值,则显示第1个出现的。
Sample Input
1 2 9 3
5 3 4 2
0 6 9 1
Sample Output
9 0 2
#include<stdio.h>
int main()
{
int a[3][4],max=0,x=0,y=0;
int (*pa)[4]=a;
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)//输入数据
{
scanf("%d",&*(*(pa+i)+j));
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
if(max==*(*(pa+i)+j))//如果最大值不止一个则不对x与y进行改变
{
x=x;
y=y;
}else if(max<*(*(pa+i)+j))//如果当前是最大值则赋值max并且将位置传递给x和y
{
max=*(*(pa+i)+j);
x=j;
y=i;
}
}
}
printf("%d %d %d",max,y,x);
return 0;
}