c++ - 查找用户输入的几何平均值

标签 c++ mean

我正在为一个类(class)做一个项目,我在计算几何平均值的输出时遇到了问题,结果总是 1,我确定这是不对的。

这是我的代码:

#include<iostream>

#include<math.h>

using namespace std;

int main(int argc, char**argv) 
{
float i, j, k;
float a, h, g;

cout<<"Enter 3 floating point numbers"<<endl;
cin>>i>>j>>k;

while(i>0 && j>0 && k>0 )
{
    a = (i+j+k)/3;
    h = 3/((1/i) + (1/j) + (1/k));


    g = pow((i*j*k),(1/3));

    cout<<"Arithmetic: "<<a<<endl;
    cout<<"Harmonic: "<<h<<endl;
    cout<<"Geometric: "<<g<<endl;

    cout<<"Enter 3 floating point numbers"<<endl;
    cin>>i>>j>>k;
}


return(0);
}

最佳答案

1/3为零,因为是整数除法。如果两个操作数都是整数类型,则它始终是整数除法。然后你将某物的幂归零并得到一。

您需要使用浮点文字:1.0/3.0 的类型为 double1.0f/3.0f 的类型为 float

关于c++ - 查找用户输入的几何平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7286819/

相关文章:

c++ - 字符串类型函数,模板特化使调用统一

c++ - 如果没有堆内存,如何释放 std::vector

python - 来自具有 Python 条件的列表的平均值

python - 如何计算列表中每三个值的平均值

c++ - 用opencv错误搜索图像的均值和方差

r - 在 data.table 中使用平均值与 .SD 和 .SDcols

c++ - Qt5.6设置应用程序图标(Linux)

c++ - 在 C/C++ 中的无符号左移之前屏蔽是否过于偏执?

c++ - vc6和vc7中的CString有什么区别?

r - 如何从向量的均值中选择最远的值