我做了一個計算球體體積的程序。
因此,當我在我的程序中試用這個公式「(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