二维数组的鞍点(C语言)

一、鞍点解释;

鞍点就是该位置上的元素在该行上最大、在该列上最小;

二、N-S流程图;

三、运行结果;

四、源代码;

cs 复制代码
# define _CRT_SECURE_NO_WARNINGS
# include <stdio.h>

int main()
{
	//初始化变量值;
	int a[4][5], i, j, k, max, maxj, flag;

	//填充数组a;
	printf("请填充一个4行5列的数组:\n");
	//循环填充;
	for (i = 0; i < 4; i++)
	{
		//列;
		for (j = 0; j < 5; j++)
		{
			//填充;
			printf("a[%d][%d]=", i, j);
			scanf("%d", &a[i][j]);
		}
	}

	//求出数组中的鞍点;
	for (i = 0; i < 4; i++)
	{
		//赋值;
		max = a[i][0];
		maxj = 0;
		//列;
		for (j = 0; j < 5; j++)
		{
			//判断;
			if (a[i][j] > max)
			{
				//赋值;
				max = a[i][j];
				maxj = j;
			}
		}

		//默认满足;
		flag = 1;

		//比较是否为整列最小值;
		for (k = 0; k < 4; k++)
		{
			//判断;
			if (max > a[k][maxj])
			{
				//赋值;
				flag = 0;
				continue;
			}
		}

		//判断是否为鞍点;
		if (flag == 1)
		{
			//输出;
			printf("a[%d][%d]=%d是数组的鞍点!!!\n", i, maxj, max);
			break;
		}
	}

	//输出结果;
	if (flag == 0)
	{
		//输出;
		printf("数组无鞍点!!!\n");
	}

	return 0;
}
相关推荐
折哥的程序人生 · 物流技术专研4 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
xxie1237944 小时前
return与print
开发语言·python
秋94 小时前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
程序员二叉5 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
玖玥拾5 小时前
C/C++ 基础笔记(十四)多态与模板编程
c语言·c++·多态·模板
慕木沐5 小时前
Google ADK Java 1.0版本 核心机制与实战 Demo
java·开发语言·python
想吃火锅10055 小时前
【leetcode】14.最长公共前缀js
算法·leetcode·职场和发展
Roann_seo%5 小时前
C++文件操作完全指南:从文本读写到二进制文件处理
开发语言·c++
huangdong_6 小时前
淘宝商品SKU图自动分类技术深度解析:从DOM解析到智能归档
开发语言·javascript·ecmascript
阿正的梦工坊7 小时前
【Rust】12-借用检查器与非词法生命周期
开发语言·后端·rust