输入一组整数(可以有重复数据),求第二大的值
求解,谢谢
输入格式:
第一行是数据个数n(大于2且小于20),第二行输入n个整数,空格分隔
输出格式:
输出这组数据中的次大值(注意最大值可能有多个)
输入样例:
6
25 11 25 18 25 17
结尾无空行
输出样例:
在这里给出相应的输出。例如:
18
结尾无空行
程序代码:#include <stdio.h>
#include <limits.h>
int main( void )
{
unsigned n;
scanf( "%u", &n );
int first = INT_MIN;
int second = INT_MIN;
for( unsigned i=0; i!=n; ++i )
{
int value;
scanf( "%d", &value );
if( value > first )
{
second = first;
first = value;
}
else if( value!=first && value>second )
{
second = value;
}
}
printf( "%d", second );
}