C语言基础算法---从数组中找最大最小值的基础应用

本文介绍了C语言基础算法在嵌入式开发中的应用,特别是寻找数组中最大值和最小值的方法。通过提供`max`和`min`宏以及`find_buffer_max_min.c`程序示例,阐述了如何处理多个数据的比较。文章还给出了一个具体的STM32F103开发板上的应用案例,利用DS18B20温度传感器查找四个温度窗口的最大值。
摘要由CSDN通过智能技术生成

有一个很基础的算法在做嵌入式开发中经常会使用到,那就是找最值,最常见的是以下两个宏:

#define max(a,b) ((a) > (b) ? (a) : (b))
#define min(a,b) ((a) < (b) ? (a) : (b))

max和min宏分别比较两个值谁大谁小,然后予以返回,很简单。

但如果是比较多个数据的数值,我们就需要数组里对元素的比较算法了,来看看程序实现:

find_buffer_max_min.c

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define NR(x) (sizeof(x)/sizeof(x[0]))
#define u32 unsigned int 
#define u8  unsigned char
//找数组的最小值 
static u32 find_buffer_min(u32 buffer_value_min,u32 size,u32 *buffer)
{
	u8 count = 0 ; 
	u32 min = buffer_value_min ;
	//遍历数组size个字节 
	for(count = 0 ; count < size ; count++)
	{
		/
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Engineer-Bruce_Yang

谢谢您

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值