C 프로그래밍에서 배열에 저장된 요소들을 역순으로 출력하는 것은 반복문의 인덱스를 거꾸로 순회하는 간단한 방식으로 구현할 수 있습니다. 아래에서 알고리즘과 전체 예제 코드를 단계별로 살펴보겠습니다.
알고리즘
배열 요소를 역순으로 출력하기 위해 다음과 같은 절차를 따릅니다.
1단계 – 크기가 5인 배열을 선언합니다.
2단계 – for 반복문을 사용하여 메모리에 5개의 요소를 입력받습니다.
3단계 – 감소하는(decrement) for 반복문을 이용해 요소를 역순으로 출력합니다.
핵심 로직
요소를 역순으로 출력하는 핵심은 인덱스를 마지막부터 시작해 0까지 감소시키는 for 반복문입니다.
for(i=4;i>=0;i--){
// 결과 출력 //
printf("array[%d] :",i);
printf("%d\n",array[i]);
}예제 코드
다음은 배열 요소를 역순으로 출력하는 C 프로그램입니다.
#include<stdio.h>
void main(){
// 실행 시간(run time)에 배열 선언 //
int array[5],i;
// 배열에 요소 입력 받기 //
printf("Enter elements into the array: \n");
// for 반복문 //
for(i=0;i<5;i++){
// 사용자 입력 읽기 //
printf("array[%d] :",i);
scanf("%d",&array[i]);
}
// 배열 요소를 역순으로 출력 //
printf("The elements from the array displayed in the reverse order are :\n");
for(i=4;i>=0;i--){
// 결과 출력 //
printf("array[%d] :",i);
printf("%d\n",array[i]);
}
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Enter elements into the array: array[0] :23 array[1] :13 array[2] :56 array[3] :78 array[4] :34 The elements from the array displayed in the reverse order are: array[4] :34 array[3] :78 array[2] :56 array[1] :13 array[0] :23
정리
이 방식의 장점은 별도의 추가 배열이나 복잡한 알고리즘이 필요 없다는 점입니다. 첫 번째 반복문으로 배열에 값을 저장한 뒤, 두 번째 반복문에서 인덱스를 n-1부터 0까지 감소시키며 순회하면 원본 배열을 그대로 유지한 채 역순 출력만 수행할 수 있습니다. 만약 배열 자체의 순서를 실제로 뒤집어야 한다면, 두 개의 인덱스를 사용해 앞뒤 요소를 서로 교환(swap)하는 방식을 활용할 수 있습니다.