C++ 求用户输入的几何平均值
我正在为一个班级做一个项目,我对几何平均数的输出有困难,它总是为1,我确信这是不对的 这是我的密码:C++ 求用户输入的几何平均值,c++,mean,C++,Mean,我正在为一个班级做一个项目,我对几何平均数的输出有困难,它总是为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&
#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);
}
#包括
#包括
使用名称空间std;
int main(int argc,字符**argv)
{
浮点数i,j,k;
浮子a,h,g;
coutj>>k;
而(i>0&&j>0&&k>0)
{
a=(i+j+k)/3;
h=3/((1/i)+(1/j)+(1/k));
g=功率((i*j*k),(1/3));
cout1/3
是零,因为它是整数除法。如果两个操作数都是整数类型,则始终是整数除法。然后将某物的幂运算为零,得到一
您需要使用浮点文本:1.0/3.0
的类型为double
,1.0f/3.0f
的类型为float
(1/3)
这是一个始终生成0的整数除法,因为余数被定义为截断。您需要将一个或两个除法转换为浮点值。1/3
是一个等于0
的整数。您应该编写1.0/3.0
(或1/3
)获取浮点值。您应该使用调试器尝试找出计算失败的部分。谷歌:“c++几何平均值”C.语言可以提供方便的浮点文字!我会拆分不同的代码,写代码< 1 / 3 < /COD>。那是因为你是一个数字。-我想<代码> <代码>提供了<代码> STD::比率< />代码,也许有一种C++方式来获得分数的通用方式……“会”。?在什么条件下?@Kerrek:在他写的条件下:)