酷代码 AI
菜单
服务商

C++实现找出n个数中第k小的数

以下是使用 C++ 实现找出 n 个数中第 k 小的数的代码: ```cpp #include <iostream> #include <algorithm> #include <vector> int main() { int n, k; // 读取 n 和 k std::cin >> n >> k; // 定义一个存储数字的向量 std::vector<int> numbers(n); // 读取 n 个数字 for (int i = 0; i < n; ++i) { std::cin >> numbers[i]; } // 对向量进行排序 std::sort(numbers.begin(), numbers.end()); // 输出第 k 小的数,注意数组下标从 0 开始 std::cout << numbers[k - 1] << std::endl; return 0; } ``` ### 代码解释: 1. **输入读取**:首先读取 `n` 和 `k`,分别表示数字的个数和要找的第 `k` 小的数。然后使用一个 `for` 循环读取 `n` 个数字,并将它们存储在 `std::vector<int>` 中。 2. **排序**:使用 `std::sort` 函数对存储数字的向量进行排序,排序后向量中的元素按从小到大的顺序排列。 3. **输出结果**:由于数组下标从 0 开始,所以第 `k` 小的数在排序后的向量中的下标为 `k - 1`,将其输出。 ######[AI问答 | 362点数解答 | 2026-04-04 16:41:46]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]