找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。

1.找该行上最大的元素

2.找该列上最小的元素

#include 
#define M 3
#define N 4
int main()
{
	int i, j ,max, pos, flag = 0;
	int array[M][N];
	printf("请输入%d行%d列的二位数组:\n",M,N);
	for (i = 0; i < M; ++i)
	{
		for (j = 0; j < N; ++j)
		{
			scanf_s("%d", &array[i][j]);

		}
	}
	//找鞍点
	for (i = 0; i < M; ++i)
	{
		//找改行上最大的元素,并记录其所在列号
		max = array[i][0];
		for (j = 1; j < N; ++j)
		{
			if (array[i][j] > max)
			{
				max = array[i][j];
				pos = j;
			}
		}
		//确认该元素是否为该列上最大的数
		for (j = 0; j < M; ++j)
		{
			if (array[j][pos]

你可能感兴趣的:(c语言)