728x90
https://www.acmicpc.net/problem/2587
문제해석
다섯개의 값을 입력받을 배열을 선언합니다. 이후 배열들의 값을 모두 더해 입력받은 만큼 나눠주는 평균값과 배열의 값들을 비교하며 크기 순서대로 배치하고 중앙값을 출력하는 코드를 작성합니다.
소스코드 & 문제풀이
#include <stdio.h>
int main()
{
// 입력받은 수를 저장할 배열변수 선언, 평균값과 임시로 값을 저장할 변수 초기화
int a[5], avg = 0, temp = 0;
// 배열의 원소를 차례로 돌면서 입력받은 값 저장
for (int i = 0; i < 5; i++) {
scanf("%d", &a[i]);
avg += a[i]; // 배열의 원소를 모두 더한 값을 avg 변수에 저장
}
// 배열의 원소들 순회하며 해당하는 순서의 값과 다음 값 비교하여 작은 값을 앞으로 배치
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5 - 1; j++) {
// 앞 원소와 다음 원소를 비교했을 때 앞 원소가 크면
if (a[j] > a[j + 1]) {
temp = a[j + 1]; // 임시 공간에 다음원소를 저장한 뒤
a[j + 1] = a[j]; // 다음 원소는 앞 원소로 저장
a[j] = temp; // 임시 공간에 저장된 값이 앞 원소에 저장
}
}
}
printf("%d\n", avg / 5); // 앞서 구한 배열들의 합을 입력받은 수만큼 나눠 평균값 구하기
printf("%d", a[2]); // 중앙값은 배열의 5번째 3번째 원소인 a[2]에 존재
}
예제 입출력 결과
728x90
'백준(BaekJoon)' 카테고리의 다른 글
[BaekJoon/C] No.15439 : 베라의 패션 (0) | 2024.07.30 |
---|---|
[BaekJoon/C] No.2750 : 수 정렬하기 (0) | 2024.07.21 |
[BaekJoon/C] No.11653 : 소인수분해 (0) | 2024.07.17 |
[BaekJoon/C] No.2581 : 소수 (0) | 2024.07.17 |
[BaekJoon/C] No.1015 : 수열 정렬 (0) | 2024.07.07 |