ZeroJudge D786: 平均值
題目敘述
每筆輸入第一行有一個正整數N,接下來會有N行,每行第一個正整數M代表接下來會有幾個數字要做輸入。要求輸出每筆資料的平均值 (四捨五入至小數點第二位)。
範例輸入
2
5 2 4 6 8 10
3 52 30 61
範例輸出
6.00
47.67
解題思路
使用For迴圈將數字都加到一個變數中,再把sum/M的值存到一個double變數中。需要注意的是,sum和M這兩個變數可以使用double來宣告這樣子就不需要在計算平均值時做轉型的動作。計算完之後可以使用stdio.h中的printf(%.2f\n, ans)來做四捨五入到第二位的輸出。
解題程式碼如下 (僅供參考):
#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);
}
}
留言
張貼留言