프로그램 개요
피라미드(피라미드형 다면체)는 다각형 모양의 밑면과 하나의 점, 즉 꼭짓점(apex)을 연결하여 만들어지는 다면체입니다. 밑면의 각 변과 꼭짓점이 만나 삼각형을 형성하며, 이 삼각형을 측면(lateral face)이라고 부릅니다. 즉, 피라미드는 다각형 밑면을 가진 원뿔형 입체 도형이라 할 수 있습니다.
n각형 밑면을 가진 피라미드는 n+1개의 꼭짓점, n+1개의 면, 2n개의 모서리를 가지며, 모든 피라미드는 자기 쌍대(self-dual) 구조를 갖습니다.

알고리즘
이 프로그램은 사용자로부터 행(row) 수를 입력받아 별(*) 문자로 피라미드 모양을 출력합니다. 동작 순서는 다음과 같습니다.
1. 사용자로부터 피라미드를 만들 행의 개수를 입력받는다. 2. 입력받은 행의 개수만큼 반복문을 실행한다. 3. 첫 번째 행에는 별 1개를 출력한다. 4. 행이 내려갈수록 별의 개수를 늘려가며 출력한다. 5. 각 행 앞에는 피라미드 모양이 중앙에 오도록 공백을 출력한다.
예제 코드
다음은 C 언어로 작성한 피라미드 패턴 출력 프로그램의 전체 소스 코드입니다.
/* 피라미드 패턴 출력 프로그램 */
#include<stdio.h>
int main() {
int r, s, rows=0;
int t=0;
clrscr();
printf("Enter number of rows to print the pyramid: ");
scanf("%d", &rows);
printf("\n");
printf("The Pyramid Pattern for the number of rows are:");
printf("\n\n");
for(r=1;r<=rows;++r,t=0) {
for(s=1; s<=rows-r; ++s){
printf(" ");
}
while (t!=2*r-1) {
printf("* ");
++t;
}
printf("\n");
}
getch();
return 0;
}
코드 설명
바깥쪽 for 루프는 행의 개수만큼 반복됩니다. 각 행에서 첫 번째 내부 루프는 왼쪽에 출력할 공백의 개수(rows - r)를 계산해 피라미드가 중앙에 정렬되도록 하고, 두 번째 while 루프는 2*r-1개의 별을 출력합니다. 이렇게 하면 1행에서는 별 1개, 2행에서는 별 3개처럼 홀수 개씩 늘어나는 전형적인 피라미드 형태가 완성됩니다.
실행 결과
위 프로그램을 컴파일하여 실행하고 행의 개수를 입력하면 아래 그림과 같이 별로 이루어진 피라미드 패턴이 화면에 출력됩니다.
