酷代码 AI
菜单
服务商

📈 C++ 实现:计算序列中第 k 大与第 k 小数的差值

### 📝 C++ 实现:计算序列中第 k 大与第 k 小数的差值 以下是使用 C++ 编写的解决方案,代码中包括详细 ```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n, k; cin >> n >> k; // 读取序列长度 n 和 k 值 vector<int> sequence(n); // 定义一个大小为 n 的数组 for (int i = 0; i < n; ++i) { cin >> sequence[i]; // 读取序列中的每个元素 } // 使用 sort 函数对序列进行升序排序 sort(sequence.begin(), sequence.end()); // 第 k 小的数在排序后的数组中索引为 k-1 // 第 k 大的数在排序后的数组中索引为 n-k int kth_min = sequence[k - 1]; int kth_max = sequence[n - k]; // 计算差值 int result = kth_max - kth_min; // 输出结果 cout << result << endl; return 0; } ``` ### 📌 代码解析 1. **输入读取**: - 使用 `cin` 读取输入的 `n` 和 `k`。 - 定义一个大小为 `n` 的 `vector` 容器 `sequence`,用于存储序列中的元素。 - 循环读取每个元素并存储到 `sequence` 中。 2. **排序序列**: - 使用 `sort` 函数对 `sequence` 进行升序排序。 - 排序后,第 `k` 小的数位于索引 `k-1`,第 `k` 大的数位于索引 `n-k`。 3. **计算差值**: - 提取第 `k` 小的数 `kth_min` 和第 `k` 大的数 `kth_max`。 - 计算差值 `result = kth_max - kth_min`。 4. **输出结果**: - 使用 `cout` 输出计算结果。 ### 💡 示例运行 #### 输入 1: ``` 3 1 5 1 3 ``` #### 输出 1: ``` 4 ``` #### 输入 2: ``` 5 2 3 2 5 1 4 ``` #### 输出 2: ``` 2 ``` ######[AI问答 | 601点数解答 | 2026-05-31 21:43:33]

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