第二大的数
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 总提交:397 测试通过:90
描述
给出N个整数,请求出小于M的第二大的数。
输入
题目包含多组输入,每组数据第一行包括两个整数N,M(0<=M<=N<=1000),N,M=0时结束。第二行包括N个整数xi(0<=xi<=100000)。
输出
输出N个数中小于M的第二大的数,如果不存在则输出-1。
样例输入
5 103 100 101 102 103 104 5 103 100 101 101 103 104 0 0
样例输出
101 101
题目来源
NUAA
分析:第二大,再有俩就可以了。所以别的就不用看了。水题,感觉。
#include<stdio.h>
int main()
  {
int n,m,i,j,k,m1,m2;
while (1)
 {
scanf("%d%d",&n,&m);
if (m==0&&n==0)
 {
break;
}
m1=-1;
m2=-1;
for (i=0;i<n;i++)
 {
scanf("%d",&k);
if (k<m)
 {
if (m1<k)
 {
m2=m1;
m1=k;

}else if (m2<k)
 {
m2=k;
}
}
}
printf("%d\n",m2);
}
}

|