我的预期结果是平均值= 73.5,我已将平均类型设置为double,但结果为73是什么问题?
#include <iostream>
using namespace std;
int main(){
int x=0;
int total=0;
double average=0;
int counter=0;
cout<<"Question 1"<<endl<<"Enter integer(-100 to end);";
cin>>x;
if (x!=-100)
{
for(;x!=-100;counter++)
{
total=total+x;
cin>>x;
}
average = total/counter;
}
cout<<"The average is:"<<average<<endl;
return 0 ;
}
答案 0 :(得分:2)
你正在进行整数计算。将其中一个整数转换为double:
average = ((double)total)/counter;
答案 1 :(得分:1)
整数运算会产生整数。在C和C ++中,它们永远不会产生浮点结果。您需要在计算中涉及浮点值,例如
average = (1.0 * total) / counter;