一、 //找出一个数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小 #include "stdafx.h" #include <stdio.h> #include <stdlib.h> int _tmain(int argc, _TCHAR* argv[]) { int a[3][4]= {{124,25,100,31},{20,96,216,95},{14,25,54,1}}; int b[3]={0}; // 每行最大值列下标 int c[4]={0}; // 每列最小值行下标 int i, j; for (i = 0; i< 3; i++) { for (j = 1; j < 4; j++) { if (a[i][j] > a[i][b[i]]) { b[i] = j; } } } for (i = 0; i < 4; i++) { for (j = 1; j < 3; j++) { if (a[j][i] < a[c[i]][i]) { c[i] = j; } } } for (i = 0; i < 3; i++) { if (i == c[b[i]]) { printf("[%d][%d]=%d/t", i, b[i], a[i][b[i]]); } } return 0; }