我做了一个计算球体体积的程序。
因此,当我在我的程序中试用这个公式“(4/3)* 3.14 * pow(radius,3)”时,它返回的值非常不准确。然后我试图输出的“4/3”返回的值,它只是在情况下,如果它是重要的返回值1计算球体积的程序中的奇怪错误
值: - 编译:MinGW64 - IDE:VS代码 - OS:赢10 64位
这是我的代码:
#include<iostream>
#include<math.h>
using namespace std;
int main(){
float radius, v;
cout<<"Enter value of radius";cin>>radius;
v = (4/3)*3.14*pow(radius, 3);
cout<<"volume of sphere: "<<v<<endl;
system("pause");return 0;
}
4/3产生一个整数,而不是浮点数。 –
我以为有很多重复的东西,但没有找到好的东西... – Walter
顺便说一句,如果你关心效率,你应该避免使用'pow()'作为小整数,尤其是如果它们是在编译时已知。计算3球体积的最有效方法是“4.188790204786391 * r * r * r”,这只是3次乘法。 – Walter