https://www.acmicpc.net/problem/4344
블로그에 들어오시는 분들이 쉬운 문제를 보러 오시는 분들이 대부분이라 단계별 풀기 밀어낼겸 쉬운 문제로 가져왔습니다.
입력
첫째 줄에는 테스트 케이스의 개수 C가 주어진다.
둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력
각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자리까지 출력한다.
해결 방법
배열에 학생들 점수를 받아준 다음, 평균이 넘는 사람의 숫자를 세서
(평균을 넘는 사람) / (N명) * 100 을 출력해주면 몇 퍼센트인지 구할 수 있습니다.
주의할 점:
1. 평균을 넘는 사람을 담는 변수인 over를 초기화 시켜주기.
2. % 출력
3. 소수점 3자리 까지만 출력
#include <stdio.h>
int main() {
double C, n;
double arr[1000] = {}; //최소 1~ 최대 1000명이니, 1000칸만 있으면 됩니다.
scanf("%lf", &C);
for(int i = 0; i < C; i++) { //C번만큼 반복
double sum = 0; //총 합계
scanf("%lf", &n);
for(int j = 0; j < n; j++) {
scanf("%lf", &arr[j]);
sum += arr[j]; //배열에 입력해주며 총 합계를 구해줍니다.
}
double average = sum / n; // 평균 = (총합) / (명 수)
double over = 0;//평균을 넘는 사람을 세줄 변수 선언
for(int j = 0; j < n; j++) {
if(arr[j] > average) { //배열에 담긴 점수가 평균을 넘으면
over++; //over에 +1
}
}
printf("%.3lf%%\n", (over/ n) * 100);
}
}
'백준' 카테고리의 다른 글
[C언어/C++] 2437번 저울 풀이 + 반례 모음 (0) | 2022.06.07 |
---|---|
[C++/C언어] 백준 | 24524번 아름다운 문자열 - 반례 공유 (0) | 2022.06.05 |
2022 서강대학교 청정수컵 36위 기념 문제풀이 (0) | 2022.05.21 |
[C언어/C++] 15927번 회문은 회문아니야!! + 반례 모음 (0) | 2022.05.09 |
[C언어/C++] 1920번 수 찾기 + 반례 모음 (0) | 2022.05.09 |