提问者:小点点

我试着用cpp计算球面的公式


我在做一个计算器,可以编码一个球的体积,但我不能作出公式不得到错误的答案。球体的体积是4/3 pi r的立方。不知道如何在不做复杂函数的情况下做一个分数。对如何正确地写出公式有什么想法吗?

    }else if (volumeChoice == "sphere"){
        double sphereRadius { 0 };
        const double pi { 3.14159265358979323846 };
        cout << "Enter the radius\n";
        cin >> sphereRadius;
        double sphereFormula { (4/3) pi * pow(3.0, sphereRadius)};
        cout << sphereFormula;

共1个答案

匿名用户

我注意到了几个主要问题。

一个:4/3在C++中使用了整数除法,所以结果返回1,而不是1.3333……将其更改为4.0/3.0

二是4/3和pi之间没有乘法符号,不应该编译。

三:pow函数第一个参数是基数,第二个是指数。调用应为POW(sphereRadius,3.0)而不是POW(3.0,sphereRadius)

更改后的行应如下所示:

double sphereFormula { (4.0/3.0) * pi * pow(sphereRadius, 3.0)};