C语言编写程序求二维数组的所有鞍点(算法最简单)

如题所述

第1个回答  2010-04-12
//这是我学时参照的程序希望对你有帮助
#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[%d][%d]=%d ",i,j,a[i][j]);
flag++;
}
}

}
if (flag==0)
printf("没有鞍点!\n");
else printf("\n");
}
请输入二维数组a[3][3]:
1
2
3
4
5
6
7
8
9
二维数组a[3][3]如下:
1 2 3
4 5 6
7 8 9
a[0][2]=3本回答被提问者采纳