int a[3][4],i,j,h,l,max;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
max=a[i][j];
l=j+1;
h=l+1;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(a[i][j+1]>a[i][j])
{
max=a[i][j+1];
h=i+1;
l=j+2;
}
}
}
printf("最大:%3d行:%3d列:%3d",max,h,l);
system("pause");
老显示的是最后一个数。为什么?
if(a[i][j]>a[h-1][l-1])
{
h=i+1;
l=j+1;
max=a[i][j];
}
单步调试,看max变量值得变化
if(a[i][j]>max)
{
h=i+1;
l=j+1;
max=a[i][j];
}
java代码这么写 你看看
int[][] a ={{3,2,9,66},{10,55,901,43},{28,24,23,29}};
int i, j = 0, h = 1, l = 1, max = 0;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++){
System.out.println(a[i][j]);
}
}
for (i = 0; i < 3; i++) {
for (j = 0; j < 3; j++) {
if (a[i][j + 1] > max){
max = a[i][j + 1];
}
h = i + 1;
l = j + 2;
}
}
System.out.println("最大:" + max + "行:" + h + "列:" + l);
System.out.println("pause");