找出第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;
}
人一我百,人十我万!自己选择的路,跪着也要走完。
浙公网安备 33010602011771号