백준 1546 문제 - C

문제에 어떻게 접근했는가?

  1. 과목의 개수를 입력으로 받아야함
  2. 과목의 개수만큼 for문을 돌리면서 scanf로 성적을 받아야함
  3. 받아내는 입력값을 배열에 저장 > 동시에 max값 저장
  4. max를 알았으니 성적을 입력받아놨던 배열의 첫번째부터 다시돌리면서 max * 100만큼 나눠줌 > 새로운 성적
  5. 새로운 성적에 평균을 구해야 함

코드

#include <stdio.h>
int main()
{
    int subject;
    int max = 0;
    float totalAverage = 0;

    scanf ("%d", &subject);

    int score[subject];

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

    for(int i=0; i < subject; i++)
    {
        totalAverage += (float)score[i] / max  * 100;
    }
    printf("%f\n", totalAverage / subject);
    return (0);
}

좋은 웹페이지 즐겨찾기