티스토리 뷰

백준

(백준) 4344-평균은 넘겠지

채희태 2023. 4. 4. 21:24
728x90

문제

대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다.

 

입력

첫째 줄에는 테스트 케이스의 개수 C가 주어진다.

둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.

 

 

 

목적: 각 케이스마다 있는 학생들의 점수의 평균을 구한후 그 평균을 넘는 학생의 비율을 구하시오. 단 소수점 3째 자리에서 반올림한다. 

 

#include<stdio.h>

int main() {

	int a = 0, b = 0;
	scanf("%d", &a);

	for (int i = 0; i < a; i++) {
		scanf("%d", &b);
		int score[1000], sum = 0;
		double ave = 0.0;
		for (int j = 0; j < b; j++) {
			scanf("%d", &score[j]);
			sum += score[j];
		}

		ave = (double)sum / b;
		int c = 0;
		for (int j = 0; j < b; j++) {
			if (ave < score[j])
				c++;
		}
		printf("%.3f%%\n", (double)c * 100 / b);
	}
	return 0;
}

해설;

테스트 케이스의 개수를 a, 각 테스트 케이스  마다의 학생수를 b라 했다.

a만큼 반복하는 반복문 안에서 b를 입력받아서 b만큼 반복하는 반복문을 만들었고 그 안에서 학생들의 점수를 입력받는데

점수를 입력 받는 score가 j=0때는 score[0]에 저장할수 있고, j=1때는 score[1]에 저장할수 있게 배열을 사용해 주었다. 그리고 sum으로 합계를 구해주었다.

평균 = 학생들의 평균점수의 합 / 학생들의 수 이고, 반복문을 사용해서 평균이 각각의 배열에 저장되어 있는 score보다 작으면 평균을 넘는 학생수인 c에 1을 추가해준다.

마지막으로 평균을 넘는 학생수 / 학생들의 수 * 100 을 함으로써 각각의 배열의 학생들의 평균을 넘는 학생 비율을 구할수 있었습니다.

'백준' 카테고리의 다른 글

(백준) 2563: 색종이  (0) 2023.04.10
(백준) 2444-별찍기  (0) 2023.04.09
(백준) 3003-킹, 퀸, 룩, 비숍, 나이트, 폰  (0) 2023.04.09
(백준) 11720-숫자의 합  (0) 2023.04.09
백준 : 1110-더하기 사이클  (0) 2023.04.04
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함
250x250