- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
5天前关闭。
Improve this question
我只是做了一些编码,其中涉及到Ceil函数,当然是为了得到整数。但当涉及到大量的函数返回实数!例如:
输入:
12345678一
输出:
8.72971e +06
#include<iostream>
#include<cmath>
using std::cin;
using std::cout;
using std::ceil;
using std::sqrt;
long long a, b;
int r;
int main() {
cin >> a >> b >> r;
cout << ceil((sqrt(a * a + b * b)) / (2 * r));
}
对此有何解释?
1条答案
按热度按时间zbdgwd5y1#
ceil()返回一个浮点结果,正如@Eljay在注解中指出的,如果你想要ceil(x)的整数部分,你应该将结果强制转换为整数,如下所示:
打印出正确的结果:
您可以在这里使用代码:https://godbolt.org/z/1fY59Ex5z