求助!C语言找二维数组中的鞍点

来源:百度知道 编辑:UC知道 时间:2024/07/02 23:08:02
我写的程序,找不出3X3矩阵中的鞍点,奇怪。。请问错在哪里?
#include<stdio.h>
#define m 3
#define n 3
void main()
{
int a[m][n],i,j,max,min,flag=0,i1;
printf("请输入二维数组a[%d][%d]:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("二维数组a[%d][%d]如下:\n",m,n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}

for(i=0;i<m;i++)
{
i1=i;
for(max=a[i][j],j=0;j<n;j++)
if(max<a[i][j])
max=a[i][j];
for(j=0;j<n;j++)
{
for(min=a[i][j],i=0;i<m;i++)
if(min>a[i][j])
min=a[i][j];
i=i1;
if(a[i][j]==max&&a[i][j]==min)
{
printf("a[%d][%d]=%d ",i,j,a[i][j]);
flag++;
}
}

}
if(flag==0)
printf("没有鞍点!\n");

#include<stdio.h>
#define m 3
#define n 3
int main() {
int a[m][n],i,j,max,min,flag=0,i1;
printf("请输入二维数组a[%d][%d]:\n",m,n);
for (i=0;i<m;i++)
for (j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("二维数组a[%d][%d]如下:\n",m,n);
for (i=0;i<m;i++) {
for (j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}

for (i=0;i<m;i++) {
i1=i;
for (max=a[i][0],j=0;j<n;j++) ####### max=a[i][j]改max=a[i][0]
if (max<a[i][j])
max=a[i][j];
for (j=0;j<n;j++) {
for (min=a[i][j],i=0;i<m;i++)
if (min>a[i][j])
min=a[i][j];
i=i1;
if (a[i][j]==max&&a[i][j]==min) {
printf("a[