0

期待される結果は average=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 ;

}

4

2 に答える 2

2

整数計算を行っています。整数の 1 つを double にキャストします。

average = ((double)total)/counter;
于 2013-11-03T15:14:40.717 に答える
1

整数演算は、結果として整数を生成します。C および C++ では、浮動小数点の結果は得られません。計算に浮動小数点値を含める必要があります。

average = (1.0 * total) / counter;
于 2013-11-03T15:14:34.647 に答える