找出第k大的数

注意: 总时间限制: 1000ms 内存限制: 65536kB

描述

用户输入N和K,然后接着输入N个正整数(无序的),程序在不对N个整数排序的情况下,找出第K大的数。注意,第K大的数意味着从大到小排在第K位的数。

 

输入

N

K

a1 a2 a3 a4 ..... aN

 

输出

b

#include<iostream>
using namespace std;
int main() {
	int n,k;
	cin >> n >> k;
	int s[n];
	int max=0;
	int t;
	for (int i = 0; i < n; i++) {
		cin >> s[i];
	}
	while(k > 1) {
	
	    for (int i = 0; i < n; i++) {
		    if (max < s[i]) {
		    max = s[i];
		    t=i;
	      }
	    }
	    max = 0;
	    s[t] = 0; k--;
	}
	for (int i = 0; i < n; i++) {
		if ( max < s[i]) max =s[i];
	}
	cout << max << endl;
	return 0;
}

  

posted on 2017-05-15 15:38  平行线不会相交  阅读(209)  评论(0)    收藏  举报

导航