16.データ統計
1083 ワード
タイトル:
いくつかの整数を入力して、最小値、最大値、平均値(3桁の小数を保持)を求めます.これらの数が1000を超えない整数であることを保証します.
サンプル入力:
2 8 3 5 1 7 3 6
サンプル出力:
1 8 4.375
考え方:
入力データの個数が不確定であるため、whileサイクルで読み出し、同時にアキュムレータsumで合計を記録し、カウンタcntで要素の個数を記録する.
大きい整数INFを定義して、maxとminに初期値を与えます.
コード:
いくつかの整数を入力して、最小値、最大値、平均値(3桁の小数を保持)を求めます.これらの数が1000を超えない整数であることを保証します.
サンプル入力:
2 8 3 5 1 7 3 6
サンプル出力:
1 8 4.375
考え方:
入力データの個数が不確定であるため、whileサイクルで読み出し、同時にアキュムレータsumで合計を記録し、カウンタcntで要素の個数を記録する.
大きい整数INFを定義して、maxとminに初期値を与えます.
コード:
#include
#include
using namespace std;
int main()
{
const int INF = 100000000;
int n = 0, sum = 0, cnt = 0;
int max_val = -INF, min_val = INF;
double average = 0.0;
while (cin >> n) {
++cnt;
sum += n;
if (n < min_val) {
min_val = n;
}
if (n > max_val) {
max_val = n;
}
}
average = static_cast(sum) / cnt;
cout << min_val << " " << max_val << " ";
cout << setprecision(3) << fixed << average << endl;
return 0;
}