프로그래밍/재미난 C언어

피라미드 C언어 예제 유형 [A-1,A-2] (피라미드 출력-별,숫자)

예영교육연구소 2016. 3. 5. 11:43

(유형 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");     // 매 행마다 한줄 띄우기를 실행