C语言求数组最小值,并返回下标

news2024/9/22 11:29:01
#include<stdio.h>
#include<string.h>
void main()
{
    int a[] = {12,5,21,33,55,77,11,2};
    int zf = sizeof(a) / sizeof(a[0]);
    for (int i = 0; i < zf; i++)
    {
        if (a[i] < a[0])
        {
            a[0] = a[i];
        }
    }
    printf("最小为%d,下标是0",a[0]);
}

如果是求最小值的情况,不保证元素丢失情况,可以采用这种方法。将所有数与第一个数比较,如果比第一个数小,就把这个数付给a[0],那么最小值的下标一定是0。可是这样的话a[0]一开始的值就被覆盖了。

最好还是定义一个变量min,初始化时将a[0]赋给min。然后进行比较。这样达到查找的效果,元素也不会丢失。

下面给一个例子:

#include<stdio.h>
#include<string.h>
void main()
{
	int a[2][4] = { {12,5,21,33},{55,77,11,2} };
	int zf = sizeof(a) / sizeof(a[0][0]);
	int row_len = sizeof(a)/sizeof(a[0]);
	int col_len = zf / row_len;
	int min = a[0][0];
	int i=0, j=0,row,col;
	for ( i = 0; i < row_len; ++i)
	{
		for (j = 0; j < col_len; ++j)
		{
			if (a[i][j] < min)
			{
				min = a[i][j];
				row = i;
				col = j;
			}
		}
	}
	printf("最小为%d,下标是%d,%d\n", min, row, col);
}

这里要注意的是,输出下标时,当退出for循环时,如果输出i,j的话,会输出2,4。这是因为for循环是先判断条件满足之后,并将循环体执行完后,再执行自增(i++或者++i),所以我这里采用将值赋给变量row,col保存。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

markdown操作

一、语法设置 1.1 标题 1.1.1 使用’#表示标题 #必须在行首&#xff0c;#越多&#xff0c;标题的级别越低1.2 代码块 1.2.1 行内代码块 使用反单引号&#xff08;一般在键盘的左上位置&#xff0c;和~是一个键&#xff09;来表示&#xff0c;如 hello&#xff1a;hello 1.2…

Windows一些基础设置

开机自启动 方法一&#xff1a; 1、首先按下键盘上的“Wini”打开设置窗口&#xff0c;在左边找到并进入“应用”&#xff1b; 2、接着在右侧点击并进入“启动”设置。 3、在启动应用下&#xff0c;将不需要开机自启动的软件给关掉。 方法二&#xff1a; 1、按CtrlShiftEs…

使用HXT和Haskell编写的程序

以下是一个使用HXT和Haskell编写的下载器程序&#xff0c;用于下载内容。此程序使用了proxy的代码。 -- 导入必要的库 import Network.HTTP.Conduit import Network.HTTP.Types.Status import Network.HTTP.Types.Header import Data.Conduit import Data.Conduit.Network imp…

Python 算法高级篇:布谷鸟哈希算法与分布式哈希表

Python 算法高级篇&#xff1a;布谷鸟哈希算法与分布式哈希表 引言 1. 什么是哈希算法&#xff1f;1.1 哈希算法的用途 2. 布谷鸟哈希算法2.1 布谷鸟哈希表的特点2.2 布谷鸟哈希算法的伪代码2.3 Python 中的布谷鸟哈希算法实现 3. 分布式哈希表3.1 分布式哈希表的特点3.2 一致性…

为啥外行都觉得程序员的代码不值钱?

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 免责声明~ 任何文章不要过度深思&#xff01; 万事万物都经不起审视&#xff0c;因为世上没有同样的成长环境&#xff0c;也没有同样的认知水平&#xff0c;更「没有适用于所有人的解决方案…

根据输入类型来选择函数不同的实现方法functools.singledispatch

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 根据输入类型来选择函数不同的实现方法 functools.singledispatch 输入6后&#xff0c;下列输出正确的是&#xff1f; from functools import singledispatch singledispatch def calcu…

讯飞输入法13.0发布,推出行业首款生成式AI输入法

&#x1f989; AI新闻 &#x1f680; 讯飞输入法13.0发布&#xff0c;推出行业首款生成式AI输入法 摘要&#xff1a;科大讯飞在2023年全球开发者节上发布了全新讯飞输入法13.0版本&#xff0c;其中最大的亮点是推出了行业首款生成式AI输入法。这次升级将生成式AI能力融入输入…

Wt库的C++下载器程序

以下是一个使用Wt库的C下载器程序&#xff0c;用于下载音频文件。此程序使用了的代码。 #include <Wt/Wt.h> #include <Wt/Http/DiskCache.h> #include <Wt/Http/HttpClient.h> ​ // 定义一个函数来获取服务器 static std::string get_proxy() {// 使用Wt:…

【c++】——类和对象(上)——万字详细解疑

目录 1.面向过程和面向对象初步认识 2.类的引入 3.类的定义 3.1类的两种定义方式&#xff1a; 3.2 成员变量命名规则建议 4.类的访问限定符及封装 4.1 访问限定符 4.2.封装 5.类的作用域 6.类的实例化 7.类对象模型 7.1 如何计算类对象的大小 7.2 类对象的存储方式…

聊聊“JVM 调优JVM 性能优化”是怎么个事?

所谓“调优”就是一个诊断和处理手段&#xff0c;最终的目标是让系统的处理能力&#xff0c;也就是“性能”达到最优化。 计算机系统中&#xff0c;性能相关的资源主要分为这几类&#xff1a; CPU&#xff1a;CPU 是系统最关键的计算资源&#xff0c;在单位时间内有限&#xf…

树莓派系统文件解析

title: “树莓派系统文件分析” date: 2023-10-25 permalink: /posts/2023/10/blog-post-5/ tags: 树莓派 本篇blog来分析和总结下树莓派系统文件以及他们的作用。使用的系统是Raspberry Pi OS with desktop System: 64-bitKernel version: 6.1Debian version: 12 (bookworm)…

09、Python 字典入门 及 高级用法

目录 字典创建字典通过key访问value添加key-value对删除key-value对替换key-value对 判断是否包含指定keydict与列表字典的常用方法演示&#xff1a; 用字典格式化字符串 创建字典 操作字典key-value对 理解dict与list的关系 字典常用方法 使用字典格式化字符串 字典 字典用于…

Spark_SQL函数定义(定义UDF函数、使用窗口函数)

一、UDF函数定义 &#xff08;1&#xff09;函数定义 &#xff08;2&#xff09;Spark支持定义函数 &#xff08;3&#xff09;定义UDF函数 &#xff08;4&#xff09;定义返回Array类型的UDF &#xff08;5&#xff09;定义返回字典类型的UDF 二、窗口函数 &#xff08;1&…

用VScode做PPT:marp插件

文章目录 初步认识指令设置图像设置布局设置 初步认识 marp是支持Markdown格式的PPT神器&#xff0c;有了这个就可以敲代码写PPT了。更绝的是&#xff0c;marp提供了VScode插件&#xff0c;故而可以愉快地在VScode中写PPT了。 在VScode扩展商店中搜索marp&#xff0c;安装Mar…

双向电平电压转换器TXS0102DCTR应用电路设计

1、TXS0102简介 TXS0102DCTR是一个2位双向电压电平转换器&#xff0c;主要用途是与数据I/O&#xff08;例如I2C或1-wire&#xff09;上的开漏驱动器连接&#xff08;其中数据是双向的且无可用的控制信号&#xff09;&#xff0c;在混合电压系统之间建立数字开关兼容性。它使用…

Linux系统编程07

线程 为什么有了进程还需要线程 进程切换的时候会花费很大的代价 &#xff08;1&#xff09;上下文切换&#xff0c;CPU寄存器需要切换 &#xff08;2&#xff09;虚拟地址和物理地址的映射需要切换 进程间通信麻烦 线程是轻量级的进程 &#xff08;1&#xff09;线程是一个正…

【设计模式】第4节:创建型模式之“单例模式”

一、介绍 采取一定的方法保证在整个的软件系统中&#xff0c;对某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得其对象实例的方法。 不使用单例模式的UML类图&#xff1a; 使用单例模式的UML类图&#xff1a; 使用场景&#xff1a; 需要频繁创建或销毁的对象…

【密评】商用密码应用安全性评估从业人员考核题库(十二)

商用密码应用安全性评估从业人员考核题库&#xff08;十二&#xff09; 国密局给的参考题库5000道只是基础题&#xff0c;后续更新完5000还会继续更其他高质量题库&#xff0c;持续学习&#xff0c;共同进步。 2751 多项选择题 GM/T 0051《 密码设备管理 对称密钥管理技术规范…

倾斜摄影三维模型根节点合并效率提升的技术方法分析

倾斜摄影三维模型根节点合并效率提升的技术方法分析 提高倾斜摄影三维模型根节点合并效率是倾斜摄影领域的重要挑战之一。快速而准确地处理大量数据和复杂的场景需要使用高效的技术方法。本文将探讨几种可以提高倾斜摄影三维模型根节点合并效率的技术方法。 首先&#xff0c;使…

可视化工具Datart踩(避)坑指南(7)——下载的极限

作为目前国内开源版本最好用的可视化工具之一&#xff0c;Datart无疑是低成本高效率可供二开的可视化神兵利器。当然&#xff0c;免费的必然要付出一些踩坑的代价。 本篇我们来讲一讲可视化工具Datart踩&#xff08;避&#xff09;坑指南&#xff08;7&#xff09;之下载的极限…