//找二维数组鞍点 # include<stdio.h> float a[10][10]; int maxrow[10]; int mincol[10]; int n; int main() { printf("请输入n:"); scanf("%d",&n); printf("请输入%d阶矩阵:",n); for(int i=0;i<n;i++) for(int j=0;j<n;j++) scanf("%f",&a[i][j]); for(i=0;i<n;i++) { for(int j=0;j<n;j++) printf("%7.2f",a[i][j]); printf(" "); } for(i=0;i<n;i++) { float max=a[i][0]; maxrow[i]=0; for(int j=1;j<n;j++) { if(a[i][j]>max) { max=a[i][j]; maxrow[i]=j; } } } for(int j=0;i<n;i++) { float min=a[0][j]; mincol[j]=0; for(i=1;i<n;i++) { if(a[i][j]<min) { min=a[i][j]; mincol[j]=i; } } } for(i=0;i<n;i++) for(int j=0;j<n;j++) { if(i==mincol[j]&&j==maxrow[i]) printf("a[%d][%d]=%7.2f ",i,j,a[i][j]); } return 0; }
运行结果: