신규 블로그를 만들었습니다!

2020년 이후부터는 아래 블로그에서 활동합니다.

댓글로 질문 주셔도 확인하기 어려울 수 있습니다.

>> https://bluemiv.tistory.com/

 

문제

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

 

 

입력

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

둘째 줄부터 각 테스트케이스 마다 첫 수로 정수 N(1 <= N <= 1000)명의 학생이 주어지고 그 다음으로 N명의 0부터 100 사이의 점수가 이어서 주어진다.

 

 

출력

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

 

 

예제 입력

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

 

 

예제 출

40.000%

57.143%

33.333%

66.667%

 

55.556%

 

 

C 풀이

#include <stdio.h>
 
int main(void) {
    
    int c = 0, n = 0;
    scanf("%d", &c);
    
    while (c--) {
        scanf("%d", &n);
        int score[1000];
        int sum = 0;
        double avg = .0;
        for (int i = 0; i < n; i++) {
            scanf("%d", &score[i]);
            sum += score[i];
        }
        avg = (double)sum / n;
        int count = 0;
        for (int i = 0; i < n; i++) {
            if (avg < score[i]) {
                count++;
            }
        }
        printf("%.3f%%\n", (double)count * 100 / n);
    }
 
    return 0;
}
​

 

 

 

 직접 문제 풀고 돌려본 뒤, 채점까지 마친 후에 작성한 글입니다.

더 좋은 방법이 있다면, 댓글로 알려주시면 감사하겠습니다 :)

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기