求数组中第二最大数

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define N 10

// 找出数组中第二个最大的数
int findSecMax(int arr[], int n)
{
	const int MINNUMBER = -32767;
	int sec_max, max;
	sec_max = MINNUMBER;
	max = arr[0];
	for (int i = 1; i < n; i++)
	{
		if (arr[i]> max)
		{
			sec_max = max;
			max = arr[i];
		}
		else
		{
			if (arr[i] > sec_max)
			{
				sec_max = arr[i];
			}
		}
	}

	return sec_max;
}

void main()
{
	int arr[N], i,sec_max;
	srand((unsigned int)time(NULL));
	for (i = 0; i < N;i++)
	{
		arr[i] = rand() % 100;
		printf("%4d", arr[i]);
	}
	
	sec_max = findSecMax(arr, N);

	printf("\n第二个最大的数为:%d\n",sec_max);

	system("pause");
}

posted @ 2014-05-22 22:45  奋斗+坚持  阅读(180)  评论(0编辑  收藏  举报