BUPT复试专题—寻找第 K 小的数(2009)
题目描述
给你 n 个完全不相同整数(n<=300),每一个数都大于 0 并且小于 1000,请找出 第 k 小的数。
输入
输入包括两行,第一行用空格隔开的两个数 n 和 k;第二行有 n 个不行同的数;
输出
输出第 k 小的数字;
样例输入
5 3
3 2 5 4 1
样例输出
3
来源
#include<algorithm> #include<iostream> #include<cstdio> #include<string> using namespace std; int sort(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int m,n; while(cin>>m>>n) { int donser[1000],i=0; while(i<m) { cin>>donser[i]; i++; } qsort(donser,m,sizeof(int),sort); cout<<donser[n-1]<<endl; } return 0; }