目录
C语言中 鞍点的定义
代码的实现
思路分析图解
C语言中 鞍点的定义
指一个矩阵中,即该位置上的元素在该行上最大,在该列上最小。
一个二维数组可能没有鞍点。
例如:1,2,3
4,5,6
7,8,9
该矩阵中,鞍点为3所在的位置。
即数组坐标[ 0 ] [ 2 ],在第一行第三列中。
代码的实现
#include <stdio.h>
int main()
{
int arr[3][3] = { {50,40,30}, {60,80,90}, {70,100,120} };
int a, b, max = 0, row = 0, flag = 0;//a为数组的行数下标,b为数组的列数下标
//如果找到了鞍点就给flag赋值为1
for (a = 0; a < 3; a++)
{
max = arr[0][0];
for (b = 0; b < 3; b++)
{
//找出一行中的最大值,并赋值为max
if (arr[a][b] > max)
{
max = arr[a][b];
row = b;
//row记录最大值所在的列
}
}
//判断max是否为该列上最小的元素
for (b = 0 ; b < 3 ;b++)
{
if (max > arr[b][row])
{
break;
}
}
//如果比较到一半跳出了循环,说明max不是该列最小
//如果可以全部比较完,即b = 3时,说明max为当列最小。
if (b == 3)
{
printf("该数组存在鞍点:%d\n在数组第%d行 第%d列\n", max, a + 1, row + 1);
flag = 1;
break;
}
}
if (flag != 1)
printf("该数组不存在鞍点\n");
return 0;
}
代码运行结果
文章来源:https://www.toymoban.com/news/detail-764275.html
思路分析图解
文章来源地址https://www.toymoban.com/news/detail-764275.html
到了这里,关于C语言学习记录——找数组中的鞍点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!