-
백준 2523번 : 별 찍기 - 13 (C 언어)c c++ 언어 공부 2023. 10. 30. 12:00
https://www.acmicpc.net/problem/2523
2523번: 별 찍기 - 13
첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.
www.acmicpc.net
Code:
1234567891011121314151617181920212223242526272829303132#include <stdio.h>int main() {int n;scanf("%d", &n);int cnt = 2 * n - 1;int a = 1;int flag = 0;while (cnt--){for (int i = 1; i <= a; i++){printf("*");}if (a == n){flag = 1;}if (flag == 0){a++;}else{a--;}if (cnt != 0){printf("\n");}}}cs 문제 설명:
오늘 우리는 N(1 ≤ N ≤ 100)에 대한 규칙적인 별 패턴을 출력하는 문제를 해결할 것입니다. 주어진 N에 따라 1부터 N까지의 줄에서는 별이 점점 늘어나다가, N부터 1까지의 줄에서는 별이 점점 줄어드는 패턴을 출력해야 합니다.
입력: 첫째 줄에 N이 주어집니다.
출력: 첫째 줄부터 2×N-1번째 줄까지 별을 출력해야 합니다.
코드 설명:
- 우선, 사용자로부터 N 값을 입력받습니다.
- cnt 변수는 총 줄 수를 나타냅니다. 이 줄 수는 2 * N - 1입니다.
- a 변수는 현재 줄에서 출력할 별의 개수를 나타냅니다.
- flag 변수는 N 줄까지 증가 후 감소하는 지점을 표시합니다.
- while 루프를 사용하여 패턴을 출력합니다. 루프는 cnt 변수를 감소시키며, cnt가 0이 될 때까지 실행됩니다.
- 각 줄에서는 a 개수만큼 별을 출력하고, a 값이 N과 같아지면 flag를 1로 설정합니다.
- flag 값에 따라 a 값을 증가 또는 감소시킵니다.
- 각 줄을 출력한 후, 마지막 줄을 제외한 모든 줄 끝에 개행 문자("\n")를 출력하여 줄을 바꿉니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 2476번 : 주사위 게임 (C 언어) (0) 2023.10.31 백준 2896번 : 무알콜 칵테일 (C 언어) (0) 2023.10.30 백준 29634번 : Hotel (C 언어) (1) 2023.10.29 백준 1743번 : 음식물 피하기 (C 언어) (0) 2023.10.28 백준 : 16486번 : 운동장 한 바퀴 (C 언어) (0) 2023.10.27