白駿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);
}
}
除法はどうもおかしい.Reference
この問題について(白駿1546-平均), 我々は、より多くの情報をここで見つけました https://velog.io/@sysh9498/백준-1546-평균テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol