- C언어 : 1차원 배열(7)
06.JUN.2022
첫째 줄에는 테스트 케이스의 개수 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);
}
}