알고리즘
n:←정수 입력
반복(line:0→n)
반복(space:0→n-line-1)
공백 출력
반복(star:0→2*line+1)
‘*’ 출력
개행
반복(line:n-2→n)
반복(space:0→n-line-1)
공백 출력
반복(star:0→2*line+1)
‘*’ 출력
개행
소스코드
//반복문 연습 - 다이아몬드 출력 // 입력 // 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; }