C빈칸 채우기보통 · 20점#정렬#배열#반복문

54. 버블 정렬의 교환 횟수와 중간 상태

다음 C 프로그램의 실행 결과가 차례로 `2 6 2 5 8`, `2 2 5 6 8`, `5`가 되도록 빈칸을 채우시오. ①에는 비교 연산자 하나를, ②에는 변수 이름을 쓰시오.

1#include <stdio.h>
2
3int main() {
4 int a[5] = {6, 2, 8, 2, 5};
5 int n = 5;
6 int swaps = 0;
7 for (int i = 0; i < n - 1; i++) {
8 for (int j = 0; j < n - 1 - i; j++) {
9 if (a[j] ( ① ) a[j + 1]) {
10 int t = a[j];
11 a[j] = a[j + 1];
12 a[j + 1] = ( ② );
13 swaps++;
14 }
15 }
16 if (i == 0) {
17 printf("%d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4]);
18 }
19 }
20 printf("%d %d %d %d %d\n", a[0], a[1], a[2], a[3], a[4]);
21 printf("%d\n", swaps);
22 return 0;
23}

해설을 먼저 보면 이후 정답 시 점수가 50%만 반영됩니다.