以下是一个解决这个问题的 C++ 代码示例:\n\ncpp\n#include <iostream>\n#include <vector>\n#include <algorithm>\n\nint main() {\n int n, k;\n std::cin >> n >> k;\n\n std::vector<int> nums(n);\n for (int i = 0; i < n; i++) {\n std::cin >> nums[i];\n }\n\n std::sort(nums.begin(), nums.end(), std::greater<int>());\n\n if (k <= n) {\n std::cout << nums[k - 1] << std::endl;\n } else {\n std::cout << "NULL" << std::endl;\n }\n\n return 0;\n}\n\n\n解释:\n\n1. 首先,我们使用std::cin从输入中读取n和k的值。\n2. 然后,我们创建一个大小为n的向量nums,用于存储输入的乱序数据。\n3. 接下来,我们使用std::sort函数将nums向量按降序排序。\n4. 检查k是否小于等于n,如果是,则输出第k大的数,即nums[k-1]。注意我们使用k-1作为索引,因为向量的索引从0开始。\n5. 如果k大于n,则输出"NULL",表示不存在第k大的数。\n6. 最后,返回0表示成功执行程序。\n\n请注意,以上代码假设输入的数据都是整数。如果输入包含非整数数据,则需要相应地修改代码。


原文地址: https://www.cveoy.top/t/topic/pFep 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录