[백준 C] 4344 : 평균은 넘겠지

anfruf·2022년 6월 6일

백준 C언어

목록 보기
41/62
  1. C언어 : 1차원 배열(7)

06.JUN.2022

문제 : 1차원 배열

첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 
학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 
주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 각 케이스마다 한 
줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.

문제 풀이

#include <stdio.h>

int main()
{
	int test, group;

	scanf("%d", &test); // 테스트 케이스의 개수

	for (int i = 0; i < test; i++) { // 테스트 케이스만큼 group을 받기 

		scanf("%d", &group); 

		// 학생들의 수는 문제에서 1~1000으로 범위 명시
		int score[1000]; // 학생수만큼 점수를 받을 배열
		double avg = 0; // 평균 구할 변수
		for (int j = 0; j < group; j++) {

			scanf("%d", &score[j]); 
			avg += score[j];
		}

		avg /= group; // 점수들의 합 나누기 인원수

		double count = 0; // 그룹 중에 평균 넘는 인원 세기
		for (int j = 0; j < group; j++) {
			if (avg < score[j]) count++; 
		}

		// 평균이 넘는 학생들(count)의 비율 출력 (소수점 셋째 자리까지)
		printf("%.3lf%\n", count * 100 / group);
	}
}

0개의 댓글