// 获取数组第二大的数
#include <stdio.h >
#define MY_INT_MIN 0x80000000
int getSecondMax ( const int * num , const int size )
{
int max = num [ 0] ;
int secondMax = MY_INT_MIN ;
for ( int i = 1; i <size ; i ++)
{
if (max <num [i ])
{
secondMax = max ;
max = num [i ];
}
else
{
if (num [i ]>secondMax )
{
secondMax = num [i ];
}
}
}
return secondMax ;
}
int main ()
{
int num [] = { 1, 2, 3, - 4, 5} ;
printf ( "%d/n" , getSecondMax (num , sizeof (num ) / sizeof (*num )));
return 0;
}
#include <stdio.h >
#define MY_INT_MIN 0x80000000
int getSecondMax ( const int * num , const int size )
{
int max = num [ 0] ;
int secondMax = MY_INT_MIN ;
for ( int i = 1; i <size ; i ++)
{
if (max <num [i ])
{
secondMax = max ;
max = num [i ];
}
else
{
if (num [i ]>secondMax )
{
secondMax = num [i ];
}
}
}
return secondMax ;
}
int main ()
{
int num [] = { 1, 2, 3, - 4, 5} ;
printf ( "%d/n" , getSecondMax (num , sizeof (num ) / sizeof (*num )));
return 0;
}
http://blog.163.com/wupengzhi2005@126/blog/static/17101002201082762223488/