查找一个数组的第K小的数,注意同样大小算一样大。 
如  2 1 3 4 5 2 第三小数为3。

输入:

输入有多组数据。
每组输入n,然后输入n个整数(1<=n<=1000),再输入k。

输出:

输出第k小的整数。

样例输入:
6
2 1 3 5 2 2
3
样例输出:
3



AC代码:::
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{
    int i,j,k,p,n,a[1001];
    while (scanf("%d",&n)!=EOF)
    {
        for (i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        scanf("%d",&k);
        sort(a,a+n);
        j=1;
        for(i=1;i<n;i++)
        {
            if(a[i]!=a[i-1])//当前后不等时、计数/
                j++;
            if(j==k)//计数到K时、输出!!!
            {
                printf("%d\n",a[i]); break;
            }
        }
    }
    return 0;
}
/**************************************************************
    Problem: 1174
    User: saylst
    Language: C++
    Result: Accepted
    Time:10 ms
    Memory:1012 kb
****************************************************************/