ZeroJudge D786: 平均值

已知 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 變數中。需要注意的是,sumN 這兩個變數可以使用 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

發佈留言