C语言:求二维数组鞍点 。鞍点就是指二维数组中在该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。

分析:

在主函数 main 中,程序首先定义一个二维数组 a[5][5] 和五个整型变量 i、j、max、maxj 和 k,并用于寻找鞍点。然后使用 printf 函数输出提示信息。

接下来,程序使用两个 for 循环结构,从键盘输入一个 5x5 的二维数组 a[5][5]。

然后,程序使用三个嵌套的 for 循环结构,分别遍历每一行、每一列和每个元素。对于每一个元素 a[i][j],程序先将 max 初始化为 a[i][0],maxj 初始化为 0,表示第一列的最大值。然后使用另一个 for 循环,遍历该行的每个元素,并判断是否有比当前最大值更大的元素,如果有,则将其记录为新的最大值,并记录其列号为 maxj。

接着,程序使用一个标志变量 F,将其初始化为 1,表示当前元素是潜在的鞍点。然后使用另一个 for 循环,遍历该列的所有元素,如果发现当前元素不是该列的最小值,则将 F 设置为 0,并跳出循环。

最后,如果 F 为 1,即该元素是该行的最大值且是该列的最小值,说明该元素是鞍点,程序使用 printf 函数输出该元素的行号、列号和值,并使用 break 语句跳出循环。如果没有找到鞍点,则输出 "No found."。

代码:

#include<stdio.h>
int main()
{int a[5][5];int i,j,max,maxj,F,k;printf("请输入数组为:\n");for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(i=0;i<5;i++){max=a[i][0];maxj=0;for(j=0;j<5;j++)if(a[i][j]>max){max=a[i][j];maxj=j;}F=1;for(k=0;k<5;k++){if(max>a[k][maxj])F=0;continue;}if(F){printf("a[%d]%d]=%d\n",i,maxj,max);break;}}printf("No found.\n");return 0;
}

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/220891.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Vue3+Vite】解决build后空白页的问题

目录 Hash 模式 HTML5 模式&#xff08;历史模式&#xff09; 配置Nginx 配置Spring Boot Hash 模式 build后空白页的问题可能是使用的是历史模式&#xff0c;因为Vue是一个单页的客户端应用&#xff0c;如果没有适当的服务器配置&#xff0c;访问会得到一个 404 错误…

【c++模版】

在计算机科学的世界里&#xff0c;模板是一种非常强大的工具&#xff0c;它允许我们编写通用的代码&#xff0c;这些代码可以处理多种数据类型。在C中&#xff0c;模板是实现泛型编程的主要方式之一。本文将详细介绍C模板的基本概念&#xff0c;并通过一些有趣的例子和现实生活…

了解FastSam:一个通用分割模型(草记)

想尝试这个FastSam的部署&#xff0c;但至今还没跑通&#xff0c;一个问题能带出一片问题&#xff0c;感觉挺心情挺郁闷的。后来和学长交流的时候&#xff0c;说那就是学少了&#xff0c;没必要急着将跑通它作为目的。也很有道理&#xff0c;这个任务还不太适合我当前的水平&am…

Node.js与npm的准备与操作

1.下载 Node.js官网&#xff1a;Node.jsNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/en 打开后的界面如下&#xff1a; LTS&#xff08;Long Term Support&#xff09;&#xff1a;长期支持版&#xff0c;稳定版 Current&am…

C#,《小白学程序》第二十五课:大数乘法(BigInteger Multiply)的Karatsuba算法及源代码

1 文本格式 /// <summary> /// 《小白学程序》第二十五课&#xff1a;大数&#xff08;BigInteger&#xff09;的Karatsuba乘法 /// Multiplies two bit strings X and Y and returns result as long integer /// </summary> /// <param name"a">&…

PCIE链路训练-状态机描述3

Configuration.Idle 1.当使用8b/10b编码时&#xff0c;non-flit模式下&#xff0c;在所用配置的lane上发送s Idle data Symbols&#xff0c;在flit mode下发送IDLE flit。 2.linkup 0 link两端的component均支持64.0GT/s的速率&#xff0c;根据进入此状态之前发送的8个TS2或…

物联网AI 无线连接学习之蓝牙基础篇 协议概述

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 1 蓝牙协议总体架构 1.1 Application层 应用属性层&#xff0c;通过API函数与协议栈交互&#xff1b; 1.2 Host层 Host层&#xff0c;逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置…

SpringBoot进阶——解释springboot的自动配置原理

相关的博客文章如下&#xff1a; SpringBootApplication注解的理解——如何排除自动装配 & 分布式情况下如何自动加载 & nacos是怎么被发现的 引出 1.spring.factories文件存储能够进行自动配置的Bean信息&#xff1b; 2.EnableAutoConfiguration关闭数据源的自动配置…

Redis核心数据结构

目录 五种基础数据结构 string hash list set zset 用zset实现微博热搜 scan遍历 高频问题 五种基础数据结构 string 单个赋值set 批量赋值/取值 msetmget 设置不存在字符串setnx, 如果不存在, 则设置成功返回1, 如果存在返回0, 可以当做分布式锁 删除值 设置过期时…

makefile 学习(5)完整的makefile模板

参考自&#xff1a; (1&#xff09;深度学习部署笔记(二): g, makefile语法&#xff0c;makefile自己的CUDA编程模板(2&#xff09;https://zhuanlan.zhihu.com/p/396448133(3) 一个挺好的工程模板&#xff0c;(https://github.com/shouxieai/cpp-proj-template) 1. c 编译流…

软件介绍01- koodo Reader支持所有电脑平台!

1 软件简介 Koodo Reader软件是一款阅读器&#xff0c;可以阅读各种格式的文档。用来代替kindle。界面简洁&#xff0c;好看&#xff0c;阅读功能强大&#xff0c;而且可以多设备同步。 因为开源&#xff0c;所以免费。而且支持所有电脑平台&#xff01; 支持格式&#xff1a…

Linux面试题(三)

目录 34、du 和 df 的定义&#xff0c;以及区别&#xff1f; 35、awk 详解。 36、当你需要给命令绑定一个宏或者按键的时候&#xff0c;应该怎么做呢&#xff1f; 37、如果一个 linux 新手想要知道当前系统支持的所有命令的列表&#xff0c;他需要怎么做&#xff1f; 38、…