如何寻找数组中的最大值和最小值

Python09

如何寻找数组中的最大值和最小值,第1张

开设两个变量,一个存放最大值,一个存放最小值

这两个变量赋初始值为数组第1个元素数据

逐一把这两个变量的值与数组其余元素值比较,存放最大值的变量在发现当前数组元素比自己大时,舍弃原来的值,替换成当前数组元素值;小的变量发现元素数据比自己小时赋值成元素数据。

比较完成后得到最终结果。

#include<stdio.h>

#define N 10

void main() { int a[N],max,min,i

for ( i=0i<Ni++ ) scanf("%d",&a[i])

max=min=a[0]

for ( i=1i<Ni++ ) if ( max<a[i] ) max=a[i]else if ( min>a[i] ) min=a[i]

printf("数组中最大值%d,最小值%d。\n",max,min)

}

求数组中的最大值和最小值,一般使用假设法,即假设数组的第1个元素为最大值,同时也是最小值,然后遍历数组,找到最大值和最小值。示例如下:

 

#include<stdio.h>int main() { int a[] = {1,2,3,4,5,6,7,8,9,10}int max, minmax = min = a[0] //假设第1个元素即是最大值也是最小值。int max_pos = 0, min_pos = 0//遍历数组,找出数组a中的最大数和最小数for (int inx=0 inx!=sizeof(a) / sizeof(int) ++inx) {if (a[inx]> max) max = a[inx], max_pos=inxelse if (a[inx] < min) min = a[inx], min_pos=inx}printf("最大数:%d\t最小数:%d\n", max ,min )return 0}

求数组中所有元素的最大值可以用打擂台的方法很方便的求出。首先设最大元素所在的下标为0。然后对下标值从1一直到n-1进行遍历。如果新检查元素的值大于当前的最大元素值,就更新最大值的下标。便历结束时就可以输出最大值的下标以及最大值的大小。

int max=0

for(i=1i<ni++)

if(a[max]<a[i])max=i

printf("a[%d]=%d\n",max,a[max])