白駿1546-平均


質問する


勢俊は期末試験に失敗した.勢俊は点数を偽造して家に持ち帰ることにした.まず勢俊は自分の点数の中で最高値を選んだ.この値をMと言います.そしてすべての点数を点数/M*100に変更しました.
例えば、ポテンシャル俊の最高点数が70で、数学点数が50であれば、数学点数は50/70*100で71.43点である.
上記の方法で勢俊の成績を再計算する場合は、新しい平均値を求めるプログラムを作成してください.

入力


1行目は試験科目の個数Nを与える.この値は1000以下です.2列目は勢俊の今の成績をあげた.この値は100以下の整数ではなく、少なくとも1つの値が0より大きい.

しゅつりょく


最初の行に新しい平均値を出力します.実際の正解と出力値の絶対誤差または相対誤差が10−2以下であることが正解である.

Solution


Java

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        float[] scores = new float[N];
        float max = 0;
        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
            scores[i] = Integer.parseInt(st.nextToken());
            if (scores[i] > max) {
                max = scores[i];
            }
        }
        float sum = 0;
        for (int i = 0; i < N; i++) {
            scores[i] = ((float)scores[i]*100)/(max);
            sum += scores[i];
        }
        System.out.println(sum/(float)N);
    }
}
除法はどうもおかしい.