酷代码 AI
菜单

现有 n n 个非负整数, a a[1], a a[2] ... a a[ n n],请你对这些整数进行排序然后按照从大到小的顺序输出。 输入格式 共两行, 第一行,包含一个正整数 n n,表示序列的个数。 第二行,包含 n n 个非负整数,数与数之间用空格隔开。 输出格式 输出包括一行, 即按从大到小的顺序,排序后的 n n 个整数,数与数之间用空格隔开。c++

以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <algorithm> #include <vector> int main() { int n; // 读取整数的个数 std::cin >> n; // 创建一个大小为 n 的向量来存储这些整数 std::vector<int> a(n); for (int i = 0; i < n; ++i) { // 读取每个整数 std::cin >> a[i]; } // 对向量中的元素进行从大到小的排序 std::sort(a.begin(), a.end(), std::greater<int>()); for (int i = 0; i < n; ++i) { if (i > 0) { // 输出空格分隔符 std::cout << " "; } // 输出排序后的整数 std::cout << a[i]; } std::cout << std::endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 输入输出的格式要严格按照题目要求,特别是数与数之间的空格。 2. 使用 `std::sort` 时,要正确选择比较函数,这里使用 `std::greater<int>()` 来实现从大到小排序。 3. 注意向量的索引从 0 开始,在遍历向量时不要越界。 [2025-11-22 20:07:08 | AI写代码神器 | 336点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多