문제 이해하기
과목 개수를 입력받고 그 개수만큼 점수를 입력받아 문제에서 제시하는 새로운 평균식으로 결과를 출력한다.
코드로 표현하기
#include <iostream>
using namespace std;
int main() {
int n;
double score[1000] = {};
double max = 0;
double result = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> score[i];
if (score[i] > max)
max = score[i];
result += score[i];
}
result = (result / max * 100) / n;
cout << result;
}
1. 과목의 개수를 의미하는 N은 1000보다 작거나 같다고 했으므로 입력되는 점수는 1000개 이하일 것이다. 입력되는 과목의 점수를 score배열에 저장할 것이고 그 점수의 개수는 최대 1000개이므로 score변수를 길이 1000으로 선언한다.
2. 과목 개수를 n변수로 입력받아 저장한다.
3. for 반복문으로 score배열에 과목 점수 n개를 저장한다.
3-1. max변수로 입력받은 점수가 기존 최고점보다 높은지 확인하고 높다면 max값을 갱신한다.
3-2. 점수가 입력될 때마다 그 값을 result변수에 더해서 저장한다.
4. n개의 점수가 모두 입력되면 점수의 합이 저장된 result변수를 이용해 새로운 평균식으로 결과를 계산하여 출력한다.
'알고리즘' 카테고리의 다른 글
[C++] 백준 1712번: 손익분기점 (0) | 2022.02.25 |
---|---|
[C++] 백준 10809번: 알파벳 찾기 (0) | 2022.02.07 |
[C++] 백준 11720번: 숫자의 합 (0) | 2022.02.07 |
[C++] 백준 1110번: 더하기 사이클 (0) | 2022.01.28 |
[C++] namespace (0) | 2022.01.18 |