언어 자료구조 알고리즘/C언어 예제

[C언어 소스] 다이아몬드 출력

언제나휴일 2016. 4. 3. 12:08
반응형

[C언어 소스] 다이아몬드 출력



4. 반복문 연습 - 다이아몬드 출력.c


알고리즘

n:←정수 입력

반복(line:0n)

    반복(space:0n-line-1)

        공백 출력

    반복(star:02*line+1)

         '*' 출력

    개행

반복(line:n-2n)

    반복(space:0n-line-1)

        공백 출력

    반복(star:02*line+1)

         '*' 출력

    개행

 

소스코드

 

//4. 반복문 연습 - 다이아몬드 출력

 

// 입력

// 5                - n

 

//출력

//     *             0- 공백 4, 1, 개행

//    ***           1- 공백 3, 3, 개행

//   *****         2- 공백2, 5, 개행

//  *******        3- 공백1, 7, 개행

// *********      4- 공백0, 9, 개행

//  *******        3- 공백1, 7, 개행

//   *****         2- 공백2, 5, 개행

//    ***           1- 공백 3, 3, 개행

//     *            0- 공백 4, 1, 개행

 

//line:0~n-1

//공백 = n-line-1

// = 2*line +1

//개행=1

//line:n-2 ~ 0

//공백 = n-line-1

// = 2*line +1

//개행=1

 

#include <stdio.h>

int main(void)

{

    int n;

    int line, space, star;

 

    printf("정수:");

    scanf_s("%d", &n);//입력

    for (line = 0; line < n; line++)//line: 0~n-1

    {

        for (space = 0; space <(n - line-1); space++)//공백 n-line-1

        {

            putchar(' ');

        }

        for (star = 0; star < (2 * line + 1); star++)// 2*line +1

        {

            putchar('*');

        }

        putchar('\n');//개행

    }

    for (line = n - 2; line >= 0; line--)//line:n-2 ~ 0

    {

        for (space = 0; space < (n - line-1); space++)//공백 n-line-1

        {

            putchar(' ');

        }

        for (star = 0; star < (2 * line + 1); star++)// 2*line +1

        {

            putchar('*');

        }

        putchar('\n');//개행

    }

    return 0;

}

반응형