뭐라도 쓰겠지
25.03.07-25.03.11 / 중첩 반복문을 사용한 피라미드 본문
#include <stdio.h>
void LeftAscendPyramid(int n);
void LeftDescendPyramid(int n);
void RightAscendPyramid(int n);
void RightDescendPyramid(int n);
void CenterAscendPyramid(int n);
void CenterDescendPyramid(int n);
void DiamondPyramid(int n);
void SandglassPyramid(int n);
void EmptyLeftAscendPyramid(int n);
void EmptyLeftDescendPyramid(int n);
void EmptyRightAscendPyramid(int n);
void EmptyRightDescendPyramid(int n);
void EmptyCenterAscendPyramid(int n);
void EmptyCenterDescendPyramid(int n);
void NumberLeftAscendPyramid(int n);
void NumberLeftDescendPyramid(int n);
void NumberRightAscendPyramid(int n);
void NumberRightDescendPyramid(int n);
void AlphaLeftAscendPyramid(int n);
void AlphaLeftDescendPyramid(int n);
void AlphaRightAscendPyramid(int n);
void AlphaRightDescendPyramid(int n);
void main() {
int num = 8;
LeftAscendPyramid(num);
LeftDescendPyramid(num);
RightAscendPyramid(num);
RightDescendPyramid(num);
CenterAscendPyramid(num);
CenterDescendPyramid(num);
DiamondPyramid(num);
SandglassPyramid(num);
EmptyLeftAscendPyramid(num);
EmptyLeftDescendPyramid(num);
EmptyRightAscendPyramid(num);
EmptyRightDescendPyramid(num);
EmptyCenterAscendPyramid(num);
EmptyCenterDescendPyramid(num);
NumberLeftAscendPyramid(num);
NumberLeftDescendPyramid(num);
NumberRightAscendPyramid(num);
NumberRightDescendPyramid(num);
AlphaLeftAscendPyramid(num);
AlphaLeftDescendPyramid(num);
AlphaRightAscendPyramid(num);
AlphaRightDescendPyramid(num);
}
void LeftAscendPyramid(int n) {
printf("왼쪽 정렬된 오름차순 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= i; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void LeftDescendPyramid(int n) {
printf("왼쪽 정렬된 내림차순 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= i; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void RightAscendPyramid(int n) {
printf("오른쪽 정렬된 오름차순 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void RightDescendPyramid(int n) {
printf("오른쪽 정렬된 내림차순 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void CenterAscendPyramid(int n) {
printf("가운데 정렬된 오름차순 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void CenterDescendPyramid(int n) {
printf("가운데 정렬된 내림차순 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void DiamondPyramid(int n) {
printf("다이아몬드 모양의 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
printf("*");
}
printf("\n");
}
for (int i = n - 1; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void SandglassPyramid(int n) {
printf("모래시계 모양의 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
printf("*");
}
printf("\n");
}
for (int i = 2; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
printf("*");
}
printf("\n");
}
printf("\n");
}
void EmptyLeftAscendPyramid(int n) {
printf("왼쪽 정렬된 가운데가 비어있는 오름차순 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= i; ++j) {
if (i != n) {
if (j == 1 || j == i) printf("*");
else printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
printf("\n");
}
void EmptyLeftDescendPyramid(int n) {
printf("왼쪽 정렬된 가운데가 비어있는 내림차순 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= i; ++j) {
if (i != n) {
if (j == 1 || j == i) printf("*");
else printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
printf("\n");
}
void EmptyRightAscendPyramid(int n) {
printf("오른쪽 정렬된 가운데가 비어있는 오름차순 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
if (i != n) {
if (j == 1 || j == i) printf("*");
else printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
printf("\n");
}
void EmptyRightDescendPyramid(int n) {
printf("오른쪽 정렬된 가운데가 비어있는 내림차순 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
if (i != n) {
if (j == 1 || j == i) printf("*");
else printf(" ");
}
else {
printf("*");
}
}
printf("\n");
}
printf("\n");
}
void EmptyCenterAscendPyramid(int n) {
printf("가운데 정렬된 가운데가 비어있는 오름차순 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
if (i != n) {
if (j == 1 || j == (2 * i) - 1) printf("*");
else printf(" ");
}
else printf("*");
}
printf("\n");
}
printf("\n");
}
void EmptyCenterDescendPyramid(int n) {
printf("가운데 정렬된 가운데가 비어있는 내림차순 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= (2 * i) - 1; ++j) {
if (i != n) {
if (j == 1 || j == (2 * i) - 1) printf("*");
else printf(" ");
}
else printf("*");
}
printf("\n");
}
printf("\n");
}
void NumberLeftAscendPyramid(int n) {
printf("왼쪽 정렬된 오름차순 숫자 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= i; ++j) {
printf("%d", j);
}
printf("\n");
}
printf("\n");
}
void NumberLeftDescendPyramid(int n) {
printf("왼쪽 정렬된 내림차순 숫자 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= i; ++j) {
printf("%d", j);
}
printf("\n");
}
printf("\n");
}
void NumberRightAscendPyramid(int n) {
printf("오른쪽 정렬된 오름차순 숫자 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
printf("%d", n - j + 1);
}
printf("\n");
}
printf("\n");
}
void NumberRightDescendPyramid(int n) {
printf("오른쪽 정렬된 내림차순 숫자 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
printf("%d", n - j + 1);
}
printf("\n");
}
printf("\n");
}
void AlphaLeftAscendPyramid(int n) {
printf("왼쪽 정렬된 오름차순 알파벳 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= i; ++j) {
printf("%c", 64 + j);
}
printf("\n");
}
printf("\n");
}
void AlphaLeftDescendPyramid(int n) {
printf("왼쪽 정렬된 내림차순 알파벳 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= i; ++j) {
printf("%c", 64 + j);
}
printf("\n");
}
printf("\n");
}
void AlphaRightAscendPyramid(int n) {
printf("오른쪽 정렬된 오름차순 알파벳 피라미드\n");
for (int i = 1; i <= n; ++i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
printf("%c", 64 + n - j + 1);
}
printf("\n");
}
printf("\n");
}
void AlphaRightDescendPyramid(int n) {
printf("오른쪽 정렬된 내림차순 알파벳 피라미드\n");
for (int i = n; i >= 1; --i) {
for (int j = 1; j <= n - i; ++j) {
printf(" ");
}
for (int j = 1; j <= i; ++j) {
printf("%c", 64 + n - j + 1);
}
printf("\n");
}
printf("\n");
}
출력값
더보기
더보기
왼쪽 정렬된 오름차순 피라미드
*
**
***
****
*****
******
*******
********
왼쪽 정렬된 내림차순 피라미드
********
*******
******
*****
****
***
**
*
오른쪽 정렬된 오름차순 피라미드
*
**
***
****
*****
******
*******
********
오른쪽 정렬된 내림차순 피라미드
********
*******
******
*****
****
***
**
*
가운데 정렬된 오름차순 피라미드
*
***
*****
*******
*********
***********
*************
***************
가운데 정렬된 내림차순 피라미드
***************
*************
***********
*********
*******
*****
***
*
다이아몬드 모양의 피라미드
*
***
*****
*******
*********
***********
*************
***************
*************
***********
*********
*******
*****
***
*
모래시계 모양의 피라미드
***************
*************
***********
*********
*******
*****
***
*
***
*****
*******
*********
***********
*************
***************
왼쪽 정렬된 가운데가 비어있는 오름차순 피라미드
*
**
* *
* *
* *
* *
* *
********
왼쪽 정렬된 가운데가 비어있는 내림차순 피라미드
********
* *
* *
* *
* *
* *
**
*
오른쪽 정렬된 가운데가 비어있는 오름차순 피라미드
*
**
* *
* *
* *
* *
* *
********
오른쪽 정렬된 가운데가 비어있는 내림차순 피라미드
********
* *
* *
* *
* *
* *
**
*
가운데 정렬된 가운데가 비어있는 오름차순 피라미드
*
* *
* *
* *
* *
* *
* *
***************
가운데 정렬된 가운데가 비어있는 내림차순 피라미드
***************
* *
* *
* *
* *
* *
* *
*
왼쪽 정렬된 오름차순 숫자 피라미드
1
12
123
1234
12345
123456
1234567
12345678
왼쪽 정렬된 내림차순 숫자 피라미드
12345678
1234567
123456
12345
1234
123
12
1
오른쪽 정렬된 오름차순 숫자 피라미드
8
87
876
8765
87654
876543
8765432
87654321
오른쪽 정렬된 내림차순 숫자 피라미드
87654321
8765432
876543
87654
8765
876
87
8
왼쪽 정렬된 오름차순 알파벳 피라미드
A
AB
ABC
ABCD
ABCDE
ABCDEF
ABCDEFG
ABCDEFGH
왼쪽 정렬된 내림차순 알파벳 피라미드
ABCDEFGH
ABCDEFG
ABCDEF
ABCDE
ABCD
ABC
AB
A
오른쪽 정렬된 오름차순 알파벳 피라미드
H
HG
HGF
HGFE
HGFED
HGFEDC
HGFEDCB
HGFEDCBA
오른쪽 정렬된 내림차순 알파벳 피라미드
HGFEDCBA
HGFEDCB
HGFEDC
HGFED
HGFE
HGF
HG
H
'프로그래밍 > C' 카테고리의 다른 글
| 25.03.10 / 메모리의 동적 할당 (0) | 2025.03.10 |
|---|---|
| 25.03.07 / 삼각수를 이용해 중첩 반복문 없이 피라미드 출력하기 (0) | 2025.03.07 |
| 25.03.06 / 비트 플래그를 이용한 퀘스트 클리어 여부 확인 (0) | 2025.03.06 |
| 25.03.06 / 비트 연산자를 이용한 2진법 출력 (0) | 2025.03.06 |
| 25.03.04 / 재귀함수를 이용한 2진법 변환기 (0) | 2025.03.04 |