C语言,求数组最大最小值

输入10个整数,输出最大值max 最小值min,最后一个输入的整数,为什么不能比较出大小? 比大小截止到倒数第二个!这是为什么?! #include"stdio.h" #define SIZE 10 main() { int a[SIZE]={0}; int i=0,max=0,min=0; for(max=a[i],min=a[i],i=... 输入10 整数 输 值max 值min 输入 整数 能比较 比 截止 倒数第二 #include"stdio.h" #define SIZE 10 main() { int a[SIZE]={0}; int i=0,max=0,min=0; for(max=a[i],min=a[i],i=0;i<SIZE;i++) { scanf("%d",&a[i]); if(max<a[i]) max=a[i]; else { max=a[i]; min=max;} } printf("max=%d\n\nmin=%d",max,min); } 展开

求数组中的最大值和最小值,一般使用假设法,即假设数组的第1个元素为最大值,同时也是最小值,然后遍历数组,找到最大值和最小值。示例如下:
#include<stdio.h>
int main() 

int a[] = {1,2,3,4,5,6,7,8,9,10};
int max, min;
max = 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=inx;
else if (a[inx] < min) min = a[inx], min_pos=inx;
}
printf("最大数:%d\t最小数:%d\n", max ,min );
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答