求数组中第二大的数

1、代码如下:

#include "stdafx.h"
#include <iostream.h>
#include "string.h"
#include <memory.h>

int find_sec_max( int data[] , int count)
{
	int maxnumber = data[0] ;
	int sec_max = 0  ;
	for ( int 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 ;
}

void main()
{
	int a[]={100,29,27,34857,2345,24365,67,24357,25346,100000};
	cout<<find_sec_max(a,10)<<endl;  //34857
}

 

你可能感兴趣的:(求数组中第二大的数)