7-11 第 k 大的整数**
求 n 个整数中第 k(1≤k≤n) 大的整数。
输入格式
n 和 k
n 个整数
输出格式
第 k 大的整数
输入样例
10 3
2 5 -1 9 25 0 12 4 -7 12
输出样例
12
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
#include <stdlib.h>
// 比较函数,用于 qsort
int compare(const void *a, const void *b) {
return (*(int *)b - *(int *)a); // 从大到小排序
}
int main() {
int n, k;
scanf("%d %d", &n, &k);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 使用 qsort 对数组进行排序
qsort(arr, n, sizeof(int), compare);
// 输出第 k 大的整数
printf("%d\n", arr[k-1]);
return 0;
}