【发布时间】:2018-05-05 03:25:03
【问题描述】:
我想计算球的表面积和球的体积,但球的体积不正确。如果我输入 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();
}
【问题讨论】:
-
4/3将两个int文字(4和3)相除,因此给出int类型的结果。这发生在向零舍入时,因此给出值1。它位于具有浮点值的表达式中这一事实不会改变表达式第一部分的计算方式。 -
好的。谢谢你。现在我明白了。