문제
작성된 코드를 기준으로 주어진 배열을 내림차순 또는 오름차순으로 정렬합니다.
해결책
배열은 공통 이름을 공유하는 관련 데이터 항목의 그룹입니다. 배열의 특정 값은 "색인 번호"의 도움으로 식별됩니다.
배열 선언
배열을 선언하는 구문은 다음과 같습니다 -
datatype array_name [size];
예를 들어,
float marks [50]
50개의 float 요소를 포함하는 배열로 'marks'를 선언합니다.
int number[10]
최대 10개의 정수 상수를 포함하는 배열로 '숫자'를 선언합니다.
각 요소는 "배열 색인"을 사용하여 식별됩니다.
배열 인덱스를 사용하면 배열 요소에 쉽게 접근할 수 있습니다.
배열 요소를 오름차순으로 정렬하는 데 사용하는 논리는 다음과 같습니다. -
for (i = 0; i < n; ++i){ for (j = i + 1; j < n; ++j){ if (num[i] > num[j]){ a = num[i]; num[i] = num[j]; num[j] = a; } } }
프로그램
다음은 오름차순으로 배열을 정렬하는 C 프로그램입니다 -
#include <stdio.h> void main (){ int num[20]; int i, j, a, n; printf("enter number of elements in an array\n"); scanf("%d", &n); printf("Enter the elements\n"); for (i = 0; i < n; ++i) scanf("%d", &num[i]); for (i = 0; i < n; ++i){ for (j = i + 1; j < n; ++j){ if (num[i] > num[j]){ a = num[i]; num[i] = num[j]; num[j] = a; } } } printf("The numbers in ascending order is:\n"); for (i = 0; i < n; ++i){ printf("%d\n", num[i]); } }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
enter number of elements in an array 5 Enter the elements 12 23 89 11 22 The numbers in ascending order is: 11 12 22 23 89