백준 1546번-평균, C++ 문제풀이

Been·2023년 11월 1일
0

백준

목록 보기
2/23

풀이과정

요약 : 최댓값 구하기 -> 데이터 수정하기 -> 데이터의 총합을 구해 평균 계산하기

1. 과목 개수 입력받기

2. 각 과목별 데이터 입력받기

for문에 사용되는 int i를 arr[i]로 집어넣어 순서대로 데이터를 입력했다.

3. 가장 높은 점수 구하기

변수 M을 지정해 초기값을 배열의 첫번째값(arr[0])을 집어넣었고,
for 문과 if문을 이용해 각 배열의 값을 변수 M과 비교했다.
(arr[i] >= M)일 때 M의 값을 교체해주었다.

4. 주어진 공식으로 데이터 수정하기

5. 점수의 총합을 구해 평균 계산하기

총합을 구하는 방식은 변수 sum을 지정하고,
for문을 이용해 변수 sum에 배열의 값을 순서대로 집어넣었다.

* 정답 오차범위가 10^-2 이므로 변수 타입을 float으로 지정해주었다.

<C++ code>

#include <iostream>
using namespace std;
int main()
{
    int N; //과목 개수 (배열의 크기)
    cin >> N;
    
    float Exam[N];

    for (int i=0; i<N; i++)
    {
        cin >> Exam[i]; // 각 과목별 점수 데이터 입력
    }

    float M = Exam[0]; // 점수의 최댓값 변수;

    for (int i=0; i<N; i++)
    {
        //최댓값 찾기
        if (Exam[i] >= M)
        {
            M = Exam[i];
        }
    }

    for (int i=0; i<N; i++)
    {
        Exam[i] = Exam[i]/M*100; //조작된 점수로 데이터 수정
    }

    float sum=0; //과목의 전체 합
    float average; // 전체 평균
    for (int i=0; i<N; i++)
    {
        sum += Exam[i];
    }

    average = sum/N;
    
    cout << average;

}
profile
콧콧코코콧코콧ㅅ

0개의 댓글