본문 바로가기
알고리즘/백준

백준 1546번 문제 c언어

by 클로드 2021. 3. 31.
반응형

문제

풀이

새로운 평균을 구하기 위해 필요한 것들이

 

1. 점수 중에 최대값을 구하는 것

2. 소수점까지 표시하기 때문에 평균을 구하는 변수에는 int형 대신 float형을 사용한다

 

점수들 중 최대값을 찾아서 max 변수 값에 넣고

 

각각의 점수에 새로운 평균값 계산을 한다

새로운 평균의 합 = (점수 / 최대값 * 100)

 

새로운 평균 = 새로운 평균의 합 / 과목의 개수

 

 

코드

#include <stdio.h>

int main()
{
    int N;
    int max = 0;
    float avg = 0;

    scanf("%d", &N);

    int score[N];

    for (int i = 0; i < N; i++) {
        scanf("%d", &score[i]);
        if (max < score[i]) {
            max = score[i];
        }
    }

    for (int i = 0; i < N; i++) {
        avg += (float)score[i] / max * 100;
    }

    printf("%f\n", avg / N);

    return 0;
}

score변수에 float로 형변환을 해서 소수점 계산을 하였다

 

출처

www.acmicpc.net/problem/1546

반응형

'알고리즘 > 백준' 카테고리의 다른 글

백준 1316번 그룹 단어 체커 자바 java  (0) 2021.04.06
백준 1193번 분수찾기 자바 java  (0) 2021.04.06
백준 11653 문제 자바 java  (0) 2021.02.15
백준 10814 문제 자바 java  (0) 2021.01.12
백준 2108번 자바 java  (0) 2020.12.24

댓글