计算球体体积时出错,但公式是正确的

Ong*_*aya 2 c++ function formula

我想计算球体的表面积和球体的体积,但球体的体积不正确。如果我输入 r=3 则 V=84.8229980469 而不是 V=113.0973358154,尽管球体的公式体积是正确的。请帮我。这是我的代码。

#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<math.h>
using namespace std;
float surface_area_of_sphere(float r)
{
    float L;
    L=4*3.14159265359*r*r;
    return L;
}

float volume_of_sphere(float r, float &V)
{
    V=4/3*3.14159265359*r*r*r;
}

int main()
{
    float radius,volume,area;
    cout<<"Please input radius of sphere r = ";
    cin>>radius;
    cout<<"==================================="<<endl;
    volume_of_sphere(radius,volume);
    cout<<"Volume of sphere = ";
    printf("%10.10f\n",volume);
    area=surface_area_of_sphere(radius);
    cout<<"Surface area of sphere = ";
    printf("%10.10f",area);
    getch();
}
Run Code Online (Sandbox Code Playgroud)

Aga*_*nju 5

您在计算中使用 4 和 3,它们是整数,因此数学是用整数完成的。整数算术中 4/3 = 1。

到处用4.0和3.0,就可以了。