프로그램 설명
기하학에서 정사각형은 정다각형의 하나로, 네 변의 길이가 모두 같고 네 내각의 크기 역시 모두 같은 도형입니다. 즉, 모든 변과 각이 동일한 가장 대표적인 사각형이라 할 수 있습니다.
이번 글에서 소개하는 프로그램을 실행하면 다음 이미지처럼 단색(속이 찬) 정사각형과 빈(속이 텅 빈) 정사각형 패턴이 화면에 출력됩니다.

알고리즘
단색 정사각형(Solid Square)
단색 정사각형을 그리기 위해 사용자로부터 행(row)의 개수를 입력받는다. 각 행마다 모든 열(column)에 대해 '*' 문자를 출력한다.
빈 정사각형(Hollow Square)
빈 정사각형을 그리기 위해 사용자로부터 행의 개수를 입력받는다. 첫 번째 행과 마지막 행은 모든 열에 '*'를 출력한다. 나머지 행에서는 첫 번째 열과 마지막 열에만 '*'를 출력하고, 나머지 위치에는 공백을 출력한다.
예제 코드
/* 빈 정사각형과 단색 정사각형 패턴 출력 프로그램 */
#include <stdio.h>
int main(){
int r, c, rows; // 빈 정사각형용 변수
int r1, c1, rows1; // 단색 정사각형용 변수
/* 빈 정사각형(Hollow Square) */
printf("Enter the Number of rows for Hollow Square: ");
scanf("%d", &rows);
printf("\n");
for (r = 1; r <= rows; r++){
if (r == 1 || r == rows){
for (c = 1; c <= rows; c++){
printf("*");
}
}
else{
for (c = 1; c <= rows; c++){
if (c == 1 || c == rows){
printf("*");
}
else{
printf(" ");
}
}
}
printf("\n");
}
printf("\n");
/* 단색 정사각형(Solid Square) */
printf("Enter the Number of rows for Solid Square: ");
scanf("%d", &rows1);
printf("\n");
for (r1 = 1; r1 <= rows1; r1++){
for (c1 = 1; c1 <= rows1; c1++){
printf("*");
}
printf("\n");
}
return 0;
}참고: 원본 코드에는 구형 Turbo C 계열 컴파일러에서만 지원되는 clrscr()(화면 지우기)과 getch()(키 입력 대기) 함수가 포함되어 있습니다. GCC, Visual Studio 등 최신 개발 환경에서는 이 두 함수 호출을 제거하고 위 코드처럼 사용하는 것이 좋습니다.
실행 결과
프로그램을 컴파일해 실행하면, 사용자가 입력한 행의 개수만큼 아래와 같은 형태의 정사각형 패턴이 콘솔 화면에 출력됩니다.
