C & C++/C언어 예제 및 소스
다이아몬드 출력
언휴
2025. 1. 4. 06:59
알고리즘
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;
}