Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
Tags
- LJESNJAK
- The Balance of the World
- 시스템 프로그래밍
- Baekjoon
- file IO
- Parenthesis
- 2941
- 입력 버퍼
- 바샤
- 10773
- IT
- 해바
- File 조작
- c++
- For Beginners
- Process Communication
- process control
- 1874
- 시프
- 4949
- Zero That Out
- 전자책
- 균형잡힌 세상
- c
- 5622
- QA
- 브런치
- 백준
- system programming
- BAKA
Archives
- Today
- Total
해바
4344) 5. 1차원 배열 : 평균은 넘겠지(Above Average) 본문
문제
https://www.acmicpc.net/problem/4344
4344번: 평균은 넘겠지
문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 테스트 케이스마다 학생의 수 N(1 ≤ N ≤ 1000, N은 정수)이 첫 수로 주어지고, 이어서 N명의 점수가 주어진다. 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 각 케이스마다 한 줄씩 평균을 넘는 학생들의 비율을 반올림하여 소수점 셋째 자
www.acmicpc.net
내 코드
#include "stdio.h"
#include "stdlib.h" // malloc 쓰려면 필요~
int main() {
int* score, count(0), sNum(0);
double* stu, sum(0);
scanf("%d", &count); // ex. 5 -> 5번(5줄) 입력함
stu = (double*)malloc(sizeof(int) * count); // 입력받은만큼 배열을 동적으로 생성
for (int i(0); i < count; i++) {
scanf("%d", &sNum); // 각 줄의 맨 처음값이 인원수
score = (int*)malloc(sizeof(int) * sNum); // 이므로 인원수만큼 배열 생성
for (int j(0); j < sNum; j++) {
scanf("%d", &score[j]); // 인원수 뒤의 점수들 입력
sum += score[j];
}
stu[i] = sum / sNum; // 일단 기존의 평균값 저장
sum = 0; // 편의상 변수 재사용하려고 씀
for (int j(0); j < sNum; j++) // 저장한 평균들보다 점수가 높으면 체크
if (stu[i] < score[j]) sum++;
stu[i] = sum / sNum * 100; // 전체 인원 중 평균 이상인 비율 계산
sum = 0;
}
for (int i(0); i < count; i++) printf("%.3lf%%\n", stu[i]); // 3째자리까지 출력
return 0;
}
찾아보면 그냥 한 줄씩 입력하는 대로 결과가 출력되게 하는 코드도 있는데, 나는 예제랑 똑같이 만들기 위해 다~ 입력받고 다~ 출력하는 형식으로 만들었다.
'C, C++' 카테고리의 다른 글
10817) 2. if문 : 세 수 (0) | 2019.08.06 |
---|---|
8958) 5. 1차원 배열 : OX퀴즈(Score) (0) | 2019.08.06 |
3052) 5. 1차원 배열 : 나머지(MODULO) (0) | 2019.08.05 |
2920) 5. 1차원 배열 : 음계(NOTE) (0) | 2019.08.05 |
2562) 5. 1차원 배열 : 최댓값 (0) | 2019.08.05 |
Comments