如何求数组中的最大值或最小值

对于普通的数求大小,我们之前已经做过了,那对于如今的数组,我们该如何求数组中最大的元素呢?我们可以这么想,数组就是一组数,只要,我们在这组数中选取一个值,然后让它依次和其他的数进行大小比较,当它小于其他数时,我们就把较大的那个数给它,最终就能够找到最大值了,程序如下:

#include <stdio.h>

int main ()

{

	int a[10] = {0,3,4,89,8,23,44,7,11,10};
	int max = a[0];                // 我们假定第一个数是最大的数
	int i;                       // 让数组中其他数和我们假定的最大的数比较
	for (i = 1; i < 10; i++){          // 对数组中的数遍历	                                                 
		if (a[i] > max)            // 让它们依次比较,如果比我们假定的数大
		max = a[i];          // 我们就将那个较大的数的值给max
}
	printf ("%d\n", max);           // 最终的max就是数组中最大的那个数
	return 0;
}

同样的,我们如何求出数组中最小的那个数,并且求出它的下标呢?

解题思路:同求最大值一样,我们先假定一个最小值,然后让它依次和其它值比较,如果其它数比它小,就将较小的那个数赋给它。同时,我们这里需要知道最小值的下标我们可以使用交换的条件,当其它数比假定值小时,我们在交换值的同时,也将它的下标给我们事先定义的一个量。

int main(){
	int a[10] = {44,3,4,89,8,23,9,7,11,10};
	int min = a[0];               // 假定最小值是第一个数
	int index = 0;                // 定义的一个下标
	int i;

	for (i = 1; i < 10; i++) {        // 利用for循环将假定的数依次和其他数比较
		if (a[i] < min) {     //  判断的条件              
		min   = a[i];       // 将较小值给min
		index = i;          // 将较小值的下标给index
		}
	}
	printf ("min = %d, index = %d\n", min, index);     // 最终输出的就是数组最小值和它的下标
	return 0;
}
  • 12
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值