[백준(BOJ)] 4344번 평균은 넘겠지, C언어 풀이

2020. 7. 15. 13:51·PS(Problem Solving)/C

<평균은 넘겠지>, 4344번

 

문제

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

 

입력

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

 

출력

각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.

 

예제 입력 1

5

5 50 50 70 80 100

7 100 95 90 80 70 60 50

3 70 90 80

3 70 90 81

9 100 99 98 97 96 95 94 93 91

예제 출력 1

40.000%

57.143%

33.333%

66.667%

55.556%

 

풀이

이 문제는 테스트 케이스의 수를 입력받은 후 다음줄에 입력받을 학생의 수를 제일 앞에 입력한 다음에 그 학생의 수 만큼 점수를 입력한다. 그리고 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력하는 프로그램을 제작하는 것이다. 나는 C에 테스트 케이스의 수를 저장했고, for문을 돌려서 C만큼 학생 수를 반복하도록 해 학생의 수 N을 입력받았다. 그 이후에 이중 for문을 이용해 학생의 수 N만큼의 점수를 배열 a에 저장했고, avg 변수를 선언해서 평균을 구한 뒤 for문을 돌려서 평균을 넘는 학생의 수를 count 값을 더하는 방식으로 구했다. 그리고 소수점 셋째 자리까지 출력해야 하므로 %.3f를 사용해서 평균을 넘는 학생의 비율을 출력하도록 했다.

 

#include <stdio.h>

int main(void)
{
    int C;
    int N;
    int a[1002];
    int sum = 0, count = 0;
    double avg;
    scanf("%d", &C);
    for (int i = 0; i < C; i++)
    {
        scanf("%d", &N);
        for (int j = 0; j < N; j++)
        {
            scanf("%d", &a[j]);
            sum += a[j];
        }
        avg = (double)sum / N;
        for (int k = 0; k < N; k++)
        {
            if (a[k] > avg)
                count++;
        }
        printf("%.3f%%\n", (double)count / N * 100);
        count = 0, sum = 0, avg = 0;
    }

    return 0;
}

저작자표시 비영리 변경금지 (새창열림)
'PS(Problem Solving)/C' 카테고리의 다른 글
  • 윤성우의 열혈 C프로그래밍 15장, 도전! 프로그래밍2 문제 풀이
  • 윤성우의 열혈 C프로그래밍 14장, 포인터와 함수에 대한 이해 문제 풀이
  • [백준(BOJ)] 10872번 팩토리얼, C언어 풀이
  • [백준(BOJ)] 2941번 크로아티아 알파벳, C언어 풀이
SiwonHae
SiwonHae
프로그래밍을 공부하고 있는 학생입니다.
  • SiwonHae
    시원해의 블로그
    SiwonHae
  • 전체
    오늘
    어제
    • 전체보기 (150)
      • PS(Problem Solving) (95)
        • C (25)
        • C++ (33)
        • JAVA (37)
      • Algorithm & Data Structure (13)
      • Computer Science (12)
        • Network (2)
        • Design Pattern (10)
      • Back-end (6)
        • Spring (5)
      • Front-end (1)
        • React (1)
      • JAVA (4)
      • 정보처리기사 (17)
      • SQLD (2)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 인기 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
SiwonHae
[백준(BOJ)] 4344번 평균은 넘겠지, C언어 풀이
상단으로

티스토리툴바