一个c程序的一点小问题,欢迎指点
下面这个程序要是输出一个数组的鞍点(即一个数在所在行中最大且在所在列中最小)程序编译没有错,就是运行的时候结果有误,得到的鞍点所在的行(i的值)不对
nclude<stdio.h>
void main()
{
int a[4][5],i,j,maxj,max,min;
printf("请输入数组:\n");
for(i=0;i<4;i++)
for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
{max=a[i][0];
for(j=0;j<5;j++)
{
if(a[i][j]>max)max=a[i][j];
maxj=j;
}
for(i=0;i<4;i++)
{min=a[0][maxj];
if(a[i][maxj]<min])min=a[i][maxj];}
if(max==min)printf("鞍点是:a[%d][%d]=%d",i,maxj,max);
break;
}
if(max!=min)
printf("无鞍点!");
}
提问者: shiningwater - 一级