배열 요소 정렬

CBeginner
지금 연습하기

소개

이 랩에서는 배열 요소들을 오름차순으로 정렬하는 과정을 단계별로 안내합니다.

새 파일 생성

~/project/ 디렉토리 안에 main.c라는 이름의 새로운 C 프로그램 파일을 생성합니다. 이 파일에 코드를 작성하게 됩니다.

변수 선언

배열을 정렬할 때 사용할 필요한 변수들을 먼저 선언합니다:

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];
  • n은 요소의 개수를 저장합니다.
  • arr은 요소를 저장할 배열입니다.
  • ij는 루프 카운터입니다.
  • temp는 요소 교환에 사용되는 임시 변수입니다.

배열 요소 입력

사용자에게 정렬하려는 요소의 개수를 입력하도록 요청한 다음, 각 요소를 입력하라는 메시지를 표시합니다:

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

배열 요소 정렬

중첩된 for 루프를 사용하여 배열을 정렬합니다:

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-i-1; j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

정렬된 배열 요소 표시

정렬된 배열 요소를 표시합니다:

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

프로그램 컴파일 및 실행

프로그램이 올바르게 작동하는지 확인하기 위해 컴파일하고 실행합니다.

main.c 의 전체 코드

#include <stdio.h>

int main()
{
    int n, i, j, temp, arr[100];

    printf("Enter the number of elements you want to sort (max 100): ");
    scanf("%d", &n);
    printf("Enter %d integers: \n", n);
    for(i = 0; i < n; i++)
        scanf("%d", &arr[i]);

    for(i = 0; i < n-1; i++)
    {
        for(j = 0; j < n-i-1; j++)
        {
            if(arr[j] > arr[j+1])
            {
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }

    printf("Sorted list in ascending order:\n");
    for(i = 0; i < n; i++)
        printf("%d ", arr[i]);
    printf("\n");

    return 0;
}

요약

이 랩에서는 C 프로그램을 사용하여 배열 요소를 오름차순으로 정렬하는 방법을 배웠습니다. 이제 이 지식을 사용하여 자신만의 코드로 배열을 정렬할 수 있습니다.