피라미드 C언어 예제 유형 [A-1,A-2] (피라미드 출력-별,숫자)
(유형 A-1) 임의의 수를 입력받아 아래와 같이 출력해 보세요.
[입력 예]
5
[출력 예]
*
**
***
****
*****
[소스 코드]
| #include <stdio.h>
int main() { int n, i, k;
printf("행 입력 :"); scanf("%d",&n);
for ( i = 1 ; i <= n ; i++ ) { for( k = 1 ; k <= i ; k++ ) printf("*");
printf("\n"); }
return 0; } |
[설명]
첫행(i=1)은 '*' 한번 출력 k=1부터 k<=1 까지 조건을 설정하여 한번 출력
두번째행(i=2)은 '*'두번 출력 k=1부터 k<=2 까지 조건을 설정하여 두번 출력
세번째행(i=3)은 '*'세번 출력 k=1부터 k<=3 까지 조건을 설정하여 세번 출력
네번째행(i=4)은 '*'네번 출력 k=1부터 k<=4 까지 조건을 설정하여 네번 출력
다섯번째행(i=5)은 '*'다섯번 출력 k=1부터 k<=5 까지 조건을 설정하여 다섯번 출력
여기는 우리는 자세히 살펴보면 i값과 조건 k<=1의 값이 동일함을 알 수 있다.
for ( i = 1 ; i <= n ; i++ )
첫번째 for문의 i값을 가지고 두번째 for문의 조건을 설정할 수 있다.
for( k = 1 ; k <= i ; k++ )
printf("\n"); // 매 행마다 한줄 띄우기를 실행
====================================================================
(유형 A-2) 임의의 수를 입력받아 아래와 같이 출력해 보세요.
[입력 예]
5
[출력 예]
1
12
123
1234
12345
[소스 코드]
| #include <stdio.h>
int main() { int n, i, k;
printf("행 입력 :"); scanf("%d",&n);
for ( i = 1 ; i <= n ; i++ ) { for( k = 1 ; k <= i ; k++ ) printf("%d",k);
printf("\n"); }
return 0; } |
[설명]
i가 1이면 k=1 부터 k<=1 만족할 때까지 숫자출력을 하므로 첫행은 1만 출력된다.
i가 2이면 k=1 부터 k<=2 만족할 때까지 숫자출력을 하므로 두번째 행은 1,2가 출력된다.
i가 3이면 k=1 부터 k<=3 만족할 때까지 숫자출력을 하므로 세번째 행은 1,2,3이 출력된다.
i가 4이면 k=1 부터 k<=4 만족할 때까지 숫자출력을 하므로 네번째 행은 1,2,3,4,가 출력된다.
i가 5이면 k=1 부터 k<=5 만족할 때까지 숫자출력을 하므로 다섯번째 행은 1,2,3,4,5가 출력된다.
printf("\n"); // 매 행마다 한줄 띄우기를 실행