我是 C++ 和一般编程的新手。我正在尝试一些小程序,只是为了弄脏我的手。下面是我创建的用于计算圆锥体积的程序。
问题:无论我做什么,输出总是一个整数。我想把它精确到小数点后两位。我尝试将变量更改为 double 和 long double 以获得更高的精度,但没有任何效果。
我怎样才能解决这个问题?为什么会这样?(如果可能,请详细说明)到目前为止,我什至问过几位 UNi 的初级讲师,但没有人给我一个正确的答案。
int main (){
float radius,length,volume ;
const float PI =22/7.0f;
cin >> radius >> length;
volume =1/3.0f *radius*radius*length;
cout << "Volume is " << volume <<endl;
return 0;
}
我在 Fedora 上使用 g++
编辑:我很早就尝试过使用 50 60/70 50 /120 40 这样的输入来给出整数。较小的输入如 3 4 给出小数。
编辑: setprecision() 有效。感谢大家发送这个