//查找一个数组的第K小的数,注意同样大小算一样大。 如 2 1 3 4 5 2 第三小数为3。、 #include<stdio.h> #define maxsize 100 void swap(int a[], int x, int y) { int temp = a[x]; a[x] = a[y]; a[y] = temp; } void sort(int a[], int n) { int i, j; for ( i = 0; i < n - 1; i++) //冒泡趟数 从小到大 for ( j = 0; j < n - 1 - i; j++) if (a[j] > a[j + 1]) swap(a, j, j + 1); } int main() { int n, m, i, j, a[maxsize]; while (scanf("%d", &n) != EOF) { for (i = 0; i < n; i++) scanf("%d", &a[i]); sort(a, n); //>>>>>>>>>>>>>>>>>>>0 ~ n-1 scanf("%d", &m); for (i = 1, j = 1; i < n; i++) { if (a[i] > a[i - 1]) { j++; if (j == m) { printf("%d", a[i]); break; } } } } return 0; }