标题:求次大值
题目描述
给出你n个数,你的任务就是求出这些数的次大值。那么你会做吗????
输入
有多组数据,每组输出一个n(n<=10^5),然后有n个数据(int范围内)。
输出
每组输出一个次大值。
样例输入
3
3 2 1
6
1 2 3 4 5 6
样例输出
2
5
提示
不会出现最大值和次大值相同的情况。
代码如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,j,a[100000],temp;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<2;i++)
{
for(j=i+1;j<n;j++)
{
if(a[i]<a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
printf("%d\n",a[1]);
}
return 0;
}