已知 N 個元素的整數數列,計算出這組數列的平均值,四捨五入至小數第2位。
範例測資
範例輸入 | 範例輸出 |
---|---|
第一行的數字,代表有幾組測試資料,第二行開始的每一行即為一筆測試資料。 每一筆測試資料以空格分開數字: 第一個整數為數列長度 N,其範圍為 [1, 100]的整數; 接下來的 N 個整數,其範圍為 [-10000, 10000] 的整數。 | 對每一筆測試資料,以一行輸出平均數,並四捨五入至小數第 2 位。 |
2 5 2 4 6 8 10 3 52 30 61 | 6.00 47.67 |
解題思路
使用 For迴圈 將數字都加到一個變數中,再把 sum/N 的值存到一個 double 變數中。需要注意的是,sum 和 N 這兩個變數可以使用 double 來宣告這樣子就不需要在計算平均值時做轉型的動作。計算完之後可以使用 printf(%.2f\n, ans) 來做四捨五入到第二位的輸出。
範例程式碼-ZeroJudge D786: 平均值
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
for (int i = 0; i<N; i++)
{
double M;
cin >> M;
double sum = 0;
for (int j = 0; j<M; j++)
{
double tmp;
cin >> tmp;
sum += tmp;
}
double ans = sum/M;
printf("%.2f\n", ans);
}
}
//ZeroJudge D786
//Dr. SeanXD