C ++。如何获得正确的输出?

时间:2020-08-30 00:02:40

标签: c++

输出答案应该是58.493745,我一直得到的答案是584.937

#include <iostream>
using namespace std;
int main()
{
     double e = 2.0000000000 * 10^10;
     double r = 2.00000035 * 10^10;
     double c = 6.685 * 10^8;
     double v = c * (r - e) / (r + e);
     cout << v << endl;
     return 0;
}

2 个答案:

答案 0 :(得分:4)

使用10^10可以执行10 XOR10。C中没有内置的幂运算符,但是您可以改用1e10。甚至最好将e10直接放在文字后面。

答案 1 :(得分:1)

尝试以下代码。根据Eljay的评论,我用“ ex”代替了“ 10 ^ x”。

#include <iostream>
using namespace std;
int main()
{
     double e = 2.0000000000e10;
     double r = 2.00000035e10;
     double c = 6.685e8;
     double v = c * (r - e) / (r + e);
     cout << v << endl;
     return 0;
}

在线运行此代码:https://www.onlinegdb.com/SJwUbOOQP

相关问题