题目
对于一个数组,查找出其中第二大的数,并输出。
测试代码
#include<iostream>
#include <stdio.h>
using namespace std;
const int MINNUMBER = -32767;
int find_set_max(int data[], int count)
{
int maxnumber = data[0];
int sec_max = MINNUMBER;
for (int i = 1; i < count; i ++ )
{
if (maxnumber < data[i])
{
sec_max=maxnumber; //将data[0]用来存放最大的数,通过一个sec_max来存放永远是上一个max 则为第二大的数
maxnumber=data[i];
}
else
{
if (data[i] > sec_max) // 在max没有更新的时候 sec也必须更新 就是不断和data[i]比较 找这其中的最大值
sec_max=data[i];
}
}
return sec_max;
}
int main()
{
int data[10]={1,2,3,4,5,6,7,8};
cout<<find_set_max(data,10)<<endl;
return 0;
}