728x90
반응형

문제 설명

  • 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다.
  • 둘째 줄에 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.
  • 최대값 M을 골라 모든 점수를 점수/M*100로 변경
  • 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답

풀이 과정

  1. N값 입력 후 N값에 맞는 double형 변수 및 배열 선언
  2. 공식을 사용하여 평균값 구하기
  • 실제 정답과 출력값의 절대오차 또는 상대오차가 10-2 이하이면 정답 이라는 조건이 있으므로 자료형에 주의해야한다.

소스 코드

#include <iostream> 
using namespace std;
int main()
{
  int count = 0;
  double max, sum = 0;
  
  cin >> count;
  
  double array[count]; 
  
  for(int i=0; i<count; i++) 
  { 
    cin >> array[i]; 
    if( max < array[i])
    	max = array[i]; 
  }
  
  for(int i=0; i<count;i++)
  {
    array[i] = array[i]/max*100.0; 
    sum += array[i]; 
  }
  
  cout << sum/(double)count; 
  return 0;
}

링크

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다.

www.acmicpc.net

 

728x90
반응형

'문제풀이 > BOJ' 카테고리의 다른 글

[C++ 백준] 11650 좌표 정렬하기  (0) 2020.06.25
[C++ 백준] 10814 나이순 정렬  (0) 2020.06.25
[C++ 백준] 3052 나머지  (0) 2020.03.21
[C++ 백준] 2577 숫자의 개수  (0) 2020.03.18
[C++ 백준] 10039 평균 점수  (0) 2020.03.18