题解 | #查找第K小数#
查找第K小数
https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd
#include <iostream>
using namespace std;
#define N 1000
//冒泡排序
void Mysort(int a[],int n){
int i,j;
for (i = 0;i<n-1;i++){
int flag = 1;
for (j = 0; j < n-i-1;j++){
if (a[j]>a[j+1]){
int temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
flag = 0;
}
}
if (flag) break;
}
}
int main(){
int n;
while(cin >> n && n != 0){
int i,j,count = 0,k,a[N];
//输入
for (i = 0; i < n; i++) cin >>a[i];
cin >>k;
Mysort(a,n);//排序
for (i = 0;i<n&&count <k;i++){
count++; //记录现在是第几小
j = i+1;
while(a[i]==a[j])j++; //j指向第一个和i不等的数
i=j-1;
}
cout <<a[i-1]<<endl;
}
}

