鞍点
题目标题:
鞍点(谌海军)
题目描述:
找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。
也可能没有鞍点。
输入描述:
输入一个3行3列的二维整形数组。
输出描述:
如果鞍点存在,输出其坐标;否则输出-1;
如:鞍点位于第一行第三列,则输出1 3;
样式输入:
1 2 3
4 5 6
7 8 9
样式输出:
1 3
#include "stdio.h" void main() { int a[3][3],i,j,m[3],n[3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",&a[i][j]); m[0]=a[0][0];m[1]=a[1][0];m[2]=a[2][0]; n[0]=a[0][0];n[1]=a[0][1];n[2]=a[0][2]; for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==0){if(m[0]<a[i][j])m[0]=a[i][j];} else if(i==1){if(m[1]<a[i][j])m[1]=a[i][j];} else if(i==2){if(m[2]<a[i][j])m[2]=a[i][j];} else if(j==0){if(n[0]>a[i][j])n[0]=a[i][j];} else if(j==1){if(n[1]>a[i][j])n[1]=a[i][j];} else if(j==2){if(n[2]>a[i][j])n[2]=a[i][j];} } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(m[i]==n[j])printf("%d %d",i+1,j+1); } } }