代码没有明显的语法错误,但是存在一些问题:

  1. 在sp()函数中,将size_除以power时,使用了long double类型,但是结果赋给的是goods,goods是long double类型,将size_强制转换为long double类型是多余的,可以直接赋值给goods。

  2. 在cmp()函数中,比较浮点数大小时,使用了std::abs()函数,这个函数是求绝对值的,对于浮点数比较,应该使用std::fabs()函数。

  3. 在main()函数中,输入了a、b、c三个变量,但是在后面的代码中没有使用a和c这两个变量,可以考虑删除或者使用这两个变量。

  4. 在排序时,使用了std::sort()函数,但是该函数默认是升序排序,根据题目描述的要求,应该是按照降序排序,可以考虑使用std::sort()的第三个参数指定排序规则,或者使用std::greater<>()比较器。

  5. 在计算剩余体力和判断是否填平时,没有考虑到木石的体积可能超过剩余的体力,应该在计算剩余体力时进行判断,如果剩余体力小于0,则输出"Impossible"。

请检查代码有什么问题:#includebitsstdc++husing namespace std;struct stone long long size_ power; long double goods; long double sp goods = 10000000000000000000000000000000 size_ power;

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

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