酷代码 AI
菜单
服务商

C++ 实现计算闪点裂隙最远五个传送距离

以下是用 C++ 实现该功能的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> // 比较函数,用于从大到小排序 bool compare(int a, int b) { return a > b; } int main() { int n; std::cin >> n; // 读取闪点裂隙的个数 std::vector<int> distances(n); for (int i = 0; i < n; ++i) { std::cin >> distances[i]; // 读取每个闪点裂隙的传送距离 } // 对传送距离进行从大到小排序 std::sort(distances.begin(), distances.end(), compare); int sum = 0; // 记录已经输出的不重复数的个数 for (int i = 0; i < n; ++i) { if (i == 0 || distances[i] != distances[i - 1]) { if (sum > 0) { std::cout << " "; } std::cout << distances[i]; sum++; if (sum == 5) { break; // 如果已经输出了 5 个不重复的数,结束循环 } } } std::cout << std::endl; return 0; } ``` ### 代码解释: 1. **输入读取**:首先读取闪点裂隙的个数 `n`,然后读取 `n` 个整数,表示每个闪点裂隙的传送距离,存储在 `vector` 中。 2. **排序**:使用 `std::sort` 函数对 `vector` 中的元素进行从大到小排序,通过自定义比较函数 `compare` 实现。 3. **去重输出**:遍历排序后的 `vector`,如果当前元素与前一个元素不同,则输出该元素,并将计数器 `sum` 加 1。当 `sum` 达到 5 时,结束循环。 ######[AI问答 | 474点数解答 | 2026-05-30 19:12:05]

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