[C언어 코드업 문제풀이] CodeUp 1441 : 버블 정렬

코드업 1441번 버블 정렬 문제 풀이 해답입니다.

 

1. 문제 설명

 

버블 정렬은 '인접한 두 원소를 검사하여 자리를 바꿔가며 정렬하는 방식'이다.

이번 문제는 미리 작성된 코드를 보고 빈 칸에 들어갈 코드를 작성하는 것이다.

이 프로그램은 버블 정렬을 구현한 것이며, 실행 결과는 오름차순으로 정렬된다.

빈 칸에 들어갈 코드만 작성해서 제출하시오.

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
#include <stdio.h>
int a[10001];
int n, i, j, temp;
int main() {
    scanf("%d"&n);
    for (i=1; i<=n; i++)
        scanf("%d"&a[i]);
 
    for(i=1; i<n; i++)
    {
// 이 부분에 들어가야 될 코드를 작성하여 제출
        {
            if (a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1= temp;
            }
        }
    }
 
    for (i = 1; i <= n; i++)
        printf("%d\n", a[i]);
    return 0;
}

 

 

2. 입력

 

빈 칸에 들어갈 코드를 작성한다.

 

3. 출력

 

오름차순으로 정렬된 데이터가 출력된다.

 

4. 입력 예시

 

5

1

3

2

5

4

 

5. 출력 예시

 

1

2

3

4

5

 

6. 문제 풀이

 

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
#include <stdio.h>
int a[10001];
int n, i, j, temp;
int main() {
    scanf("%d"&n);
    for (i=1; i<=n; i++)
        scanf("%d"&a[i]);
 
    for(i=1; i<n; i++)
    {
 
for(j = 0; j<=n-1;j++)
        {
            if (a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1= temp;
            }
        }
    }
 
    for (i = 1; i <= n; i++)
        printf("%d\n", a[i]);
    return 0;
}

댓글()