<문제>
문제
대학생 새내기들의 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%
<코드>
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(int argc, char* argv[]) {
int t;
int arr[1001] = { 0, };
scanf("%d", &t);
while (t--) {
int n;
double average = 0;
double sum = 0;
int cnt = 0;
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", &arr[i]);
}
for (int i = 1; i <= n; i++) {
sum += arr[i];
}
average = sum / (double)n;
for (int i = 1; i <= n; i++) {
if (arr[i] > average)
cnt++;
}
printf("%0.3f%%\n", ((double)cnt/(double)n)*100);
}
return 0;
}
<풀이>
1. 단순하게 다 더하고 나누고 했음
'Computer Science > Algorithm' 카테고리의 다른 글
[Algorithm/C] BOJ.10828 스택 (0) | 2018.03.26 |
---|---|
[Algorithm/C] BOJ.2920 음계 (1) | 2018.02.24 |
[Algorithm/C] BOJ.1934 최소공배수 (0) | 2018.02.21 |
[Algorithm/C] BOJ.1924 2007년 (1) | 2018.02.19 |
[Algorithm/C] BOJ.2558 A+B-2 (0) | 2018.02.17 |