https://www.acmicpc.net/problem/4344
입력받은 숫자의 분포중에서 평균보다 높은 비율을 구하는 문제.
입력받은 숫자들을 평균을 낸 후에 평균 이상인 숫자들의 비율을 구하면 끝난다.
#include<stdio.h>
int main(){
int c, n, cnt; // 테스트케이스, 학생 수, 평균 넘은 사람
double avg; // 평균
scanf("%d", &c); //테스트 케이스 입력
for (int i = 0; i < c; i++) {
avg = 0; // 평균과 평균 넘은사람 초기화
cnt = 0;
scanf("%d", &n); // 학생수 입력
int score[n]; // 학생 수에 맞는 길이의 배열
for (int j = 0; j < n; j++) {
scanf("%d", &score[j]); // 점수 입력
avg += score[j]; // 점수를 총합
}
avg /= n; //평균 구함
for (int k = 0; k < n; k++) {
if (score[k] > avg) { // 평균을 넘는 사람 세기
cnt++;
}
}
printf("%.3f%%\n", 100*(double)cnt/n);
}
return 0;
}
'coding_test > BAEKJOON' 카테고리의 다른 글
백준 4673번 C언어 풀이 (0) | 2021.08.06 |
---|---|
백준 15596번 C언어 풀이 (0) | 2021.08.05 |
백준 8958번 C언어 풀이 (0) | 2021.08.05 |
백준 1546번 C언어 풀이 (0) | 2021.08.04 |
백준 3052번 C언어 풀이 (0) | 2021.08.04 |