第二大的数
时间限制(普通/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); } }
|