정보처리산업기사 실기 시험 기출 문제 - 2D 배열 경계 출력
추천 자료: ASP.NET Core 인증 및 권한 부여
문제
다음 C 프로그램이 실행되었을 때의 동작을 설명하고, 출력 결과를 예측하시오.
소스 코드 파일명: print_array_border.c
#include <stdio.h>
void print_border(int a[5][6]) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++)
if (i == 0 || i == 4 || j == 0 || j == 5)
printf("%3d", a[i][j]);
else
printf(" ");
printf("\n");
}
}
int main() {
int ary[5][6], cnt = 0;
for (int i = 0; i < 5; i++)
for (int j = 0; j < 6; j++)
ary[i][j] = cnt++;
print_border(ary);
}
입력 예시
이 프로그램은 사용자로부터 입력을 받지 않습니다.
출력 예시
0 1 2 3 4 5
0 11
0 17
0 23
24 25 26 27 28 29
해설
이 프로그램은 5x6 크기의 2D 배열 ary
의 경계(테두리) 요소를 출력합니다.
- 배열
ary
는 연속된 정수값으로 초기화되며, 이 값은 0에서 시작하여 배열을 순차적으로 채웁니다. print_border
함수는 전달받은 배열a
를 이용하여 각 행과 열의 경계에 있는 요소만 출력합니다. 테두리가 아닌 요소의 위치에서는 공백(" ")을 출력합니다.- 행의 경계는 첫 번째(0)와 마지막(4), 열의 경계는 첫 번째(0)와 마지막(5)에 위치한 요소들입니다.
- 최종적으로 배열의 테두리를 형성하는 요소들만 화면에 출력되며, 나머지 부분은 공백으로 채워집니다.
이 프로그램은 배열의 특정 조건에 따라 선택적으로 요소를 출력하는 방법을 보여줍니다. 이는 조건문과 반복문을 사용하여 배열 내 데이터의 시각적 표현을 조작하는 기본적인 예제입니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!