题目:
http://cxsjsxmooc.openjudge.cn/2021t3springall2/038/
分析:
嗯。。。这道题,如果你认识就白给,不认识的话也就白给
greater<> ()
greater<double> ()
这里面填的比较函数,在本地<>里缺省也能过,但是openjudge上就会编译出错,后来看了下其他博主的题解才发现里面还需要确定一个类型double(要排序的类型)。
参考代码:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
int main()
{
double a[] = {1.2,3.4,9.8,7.3,2.6};
list<double> lst(a,a+5);
lst.sort(
// 在此处补充你的代码
greater<double> ()
);
for(list<double>::iterator i = lst.begin(); i != lst.end(); ++i)
cout << * i << "," ;
return 0;
}
注:以上代码虽然通过了OpenJudge的样例测试,但受限于本人水平,如有疏漏,恳请斧正。
这篇博客主要讲述了在OpenJudge平台上遇到的一个编程题目,涉及到C++中使用`sort`函数进行排序的问题。作者指出,当使用`greater<>()`时,虽然在本地编译可以通过,但在OpenJudge上会报错。解决方法是在模板中指定排序元素的类型,如`greater<double>()`。博客提供了一个参考代码示例,展示了如何正确地对双精度浮点数数组进行降序排序。代码已经通过了OpenJudge的样例测试,但作者表示可能存在疏漏,欢迎读者指正。

747

被折叠的 条评论
为什么被折叠?



