逻辑混乱
在你判断出 a[i]>a[b] 时不仅要记录下 b 这个坐标,同时还要记录值到 max ,你把这俩过程分开进行,还不加花括号,那后边的操作就不受条件限制了。找最小值也一样。
自己修改吧,我要是直接给出代码,那你这问题也就没意义了。
#include
#define M 3
#define N 4
int main(void)
{
int a[M][N] = {0};
int i,j,b,c;
printf("\nInput %dx%d numbers:\n", M, N);
for(i=0;i{
for (j = 0; j < N; ++j)
{
scanf("%d",&a[i][j]);
}
}
b=0;
c=0;
for(i=0; i{
for (j = 0; j < N; ++j)
{
if (a[i][j] > a[b][c])
{
b = i;
c = j;
}
}
}
for(i=0;i{
for (j = 0; j < N; ++j)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
printf("\nOutput:\n");
printf("max=a[%d][%d]=%d\n", b, c, a[b][c]);
printf("\n");
return 0;
}
/*
Input 3x4 numbers:
1 2 3 4 5 6 7 8 9 12 0 100
1 2 3 4
5 6 7 8
9 12 0 100
Output:
max=a[2][3]=100
*/