일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 강의
- 추천
- 유튜브 동영상 강의
- 산책하기 좋은 곳
- 알고리즘
- 표준 입출력
- 무료 동영상 강의
- c언어
- 언제나휴일
- 캡슐화
- 동영상
- 동영상 강의
- 졸업 작품 소재
- 프로젝트
- 독립기념관
- 파이썬
- c#
- 소스 코드
- 실습
- 안드로이드 앱 개발
- C++
- 소켓 통신
- 클래스 다이어그램
- 언제나 휴일
- 실습으로 다지는 c#
- 네트워크 프로그래밍
- Windows Forms
- 원격 제어 프로그램
- 표준 라이브러리 함수
- 충남 천안
Archives
- Today
- Total
프로그래밍 언어 및 기술 [언제나휴일]
[C언어 소스] 산봉우리 출력 본문
알고리즘
n:←산의 높이 입력
반복(line:1→2n)
조건(line<=n)
반복(space:1→4n-1-line)
공백 출력
반복(star:1→2line-1)
‘*’ 출력
개행
아니면
반복(space:1→2n-line)
공백 출력
반복(start:1→2(line-n))
‘*’ 출력
반복(space:1→2(2n-line))
공백 출력
반복(star:1→(2n-line-1))
‘*’ 출력
반복(space:1→2(2n-line))
공백 출력
반복(start:1→2(line-n))
‘*’ 출력
개행
소스코드
//반복문 연습 - 산봉우리 출력
//입력
//5 - n
//출력
// * 1 공백(9+9),별1, 개행
// *** 2 공백(9+8), 별3, 개행
// ***** 3 공백(9+7),별5, 개행
// ******* 4 공백(9+6), 별7, 개행
// ********* 5 공백(9+5), 별9, 개행
// * *********** * 6 공백4, 별1, 공백4, 공백4, 별11, 공백4, 공백4, 별1, 개행
// *** ************* *** 7 공백3, 별3, 공백3, 공백3, 별13, 공백3, 공백3, 별3, 개행
// ***** *************** ***** 8 공백2, 별5, 공백2, 공백2, 별15, 공백2, 공백2, 별5, 개행
// ******* ***************** ******* 9 공백1, 별7, 공백1, 공백1, 별17, 공백1, 공백1, 별7, 개행
// ************************************* 10 공백0, 별9, 공백0, 공백0, 별19, 공백0, 공백 0, 별9,개행
//line:1~2*n
//조건(line<=n)이 참일 때
//공백= (2*n-1)+(2*n-line) = 4*n -1-line
//별 = 2*line-1
//개행
//조건(line<=n)이 거짓일 때
//공백 = 2*n-line
//별 = 2*(line-n)-1
//공백 = 2*(2*n-line)
//별 = 2*line-1
//공백 = 2*(2*n-line)
//별 = 2*(line-n)-1
//개행
#include <stdio.h>
int main(void)
{
int n;
int line, space, star;
printf("높이:");
scanf_s("%d", &n);//입력
for (line = 1; line <= 2 * n; line++)//line: 1~2n
{
if (line <= n)//line is 1~n
{
for (space = 1; space <= (4 * n - 1 - line); space++)//공백 4*n - 1 - line개
{
putchar(' ');
}
for (star = 1; star <= (2 * line - 1); star++)//별 2*line -1개
{
putchar('*');
}
putchar('\n');//개행
}
else//line is n+1 ~ 2n
{
for (space = 1; space <= (2 * n - line); space++)//공백 2n-line개
{
putchar(' ');
}
for (star = 1; star <= 2 * (line - n) - 1; star++)//별 2*(line-n)-1개
{
putchar('*');
}
for (space = 1; space <= (2 * (2 * n - line)); space++)//공백 2*(2*n-line) 개
{
putchar(' ');
}
for (star = 1; star <= (2 * line - 1); star++)//별 2*line-1개
{
putchar('*');
}
for (space = 1; space <= (2 * (2 * n - line)); space++)//공백 2*(2*n-line) 개
{
putchar(' ');
}
for (star = 1; star <= 2 * (line - n) - 1; star++)//별 2*(line-n)-1개
{
putchar('*');
}
putchar('\n');//개행
}
}
return 0;
}
언제나휴일 여행 및 산책
'C & C++ > C언어 예제 및 소스' 카테고리의 다른 글
[C언어 소스] 문자열 복사하는 함수 만들기 (0) | 2025.01.09 |
---|---|
[C언어 소스] 문자열 비교하는 함수 만들기 (0) | 2025.01.09 |
[C언어] n 개의 정수 중에 홀수의 합계 구하는 함수 만들기 (0) | 2025.01.08 |
[C언어 소스] 속이 빈 삼각형 출력 (0) | 2025.01.08 |
[C언어 소스] 숫자 피라미드 (0) | 2025.01.08 |
다이아몬드 출력 (0) | 2025.01.04 |
역삼각형 출력 (0) | 2025.01.03 |
삼각형 출력 (0) | 2025.01.03 |