/*Description
给出一个N*N的二维数组,求出其中的最大数和其所在的行号、列号(均从0开始计算)。
Input
第1行是一个正整数N(2≤N≤10),表示二维数组的大小。后跟N行,每行N个数。
数据之间用一个空格分隔。
Output
输出最大数,及其所在的行号和列号,中间用一个空格分隔。如果有多个数都是最大,
则输出第1个的位置。
Sample Input
5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
Sample Output
5 0 4
HINT
若最大数有多个,则输出第一个。*/
#include <stdio.h>
#define N 8
int main()
{
int a[N][N],i,j,b,c,max,n;
scanf("%d",&n);
if(n >= 2 && n <= 10);//判断是否满足条件
else
{
printf("输出错误!请重新输入!");
return 0;
}
scanf("%d",&a[0][0]);
max = a[0][0];
b = c = 0;
for(i = 0;i < n;i++)
{
for(j = 0;j < n;j++)
{
if(i == 0 && j == 0) j = 1;
scanf("%d",&a[i][j]);
if(max < a[i][j])
{
b = i;
c = j;
max = a[i][j];
}
}
}
printf("%d %d %d",max,b,c);
}
不能单纯的将max初始化成0来作比较,因为数组里的数据可能是负数