#include<stdio.h>
void main()
{
int find_sec_max(int data[],int count);
int a[] = {2,4,6,8,7,2,5};
printf("%d",find_sec_max(a,5));
}
static int MINNUMBER = -32767;
int find_sec_max( int data[] , int count)//count是数组长度
{
int maxnumber = data[0];
int sec_max = MINNUMBER;
int i;
for( i = 1 ; i < count ; i++)
{
if( data[i] > maxnumber )
{
sec_max = maxnumber ;
maxnumber = data[i] ;
}
/*else
{
if ( data[i] > sec_max )
sec_max = data[i] ;
}*/
}
return sec_max ;
}
//如果注释掉上面代码,最大值将会是6,因为当检测到最大之后,次大值不会变了,但加上后次大值还会改变