第1个回答 2011-01-01
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int num[20][20], i, j, data1, data2, m, n, larger, small;
printf("Please input m and n:");
scanf("%d%d", &m, &n);
printf("Please input a juZhen(%d hang, %d lie):\n", m, n);
for (i =0; i < m; i++)//输入二维矩阵
{
for (j = 0; j < n; j++)
{
scanf("%d", &num[i][j]);
}
}
for (j = 0; j < m; j++)//寻找鞍点
{
larger = num[j][0];
data1 = 0;
for (i = 1; i < n; i++)//寻找行最大值的列标
{
if (larger < num[j][i])
{
larger = num[j][i];
data1 = i;
}
}
small = num[0][data1];
data2 = 0;
for (i = 0; i < m; i++)//在行最大值的列标处寻找该列上的最小值行标
{
if (small > num[i][data1])
{
small = num[i][data1];
data2 = i;
}
}
if (data2 == j)//判断是不是鞍点
{
printf("\nyou an dian, wei: juZhen[%d][%d]=%d\n", data2, data1, num[data2][data1]);
exit(0);//是鞍点则结束程序
}
}
printf("mei you an dian\n");
return 0;
}