求数组中的最大值和最小值,一般使用假设法,即假设数组的第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}
#include<stdio.h>main()
{
int a[N]={}//已知数组
int max=a[0]//保存最大值
int min=a[0]//保存最小值,先初始化为数组第一个元素
for(int i=1i<Ni++)//循环判断
{
if(a[i]>max)//判断最大值
max=a[i]
if(a[i]<min)//判断最小值
min=a[i]
}
//输出
printf("max=%d,min=%d\n",max,min)
}