C#/TIL

24.11.27 별찍기

서지현 2024. 11. 27. 16:01

과제 4. 별찍기 기능 구현

  • 중첩반복문을 활용하여 아래 그림처럼 출력을 시켜 보겠습니다.
  • 하나 하나 만들어보시기 바랍니다
  • Tip : Console.Write(" ");를 쓰면 빈 공백 하나를, Console.Write("*");을 쓰면 별 하나를 출력할 수 있다
            #region 1번문제
            for (i = 0; i < 6; i++) // i가 6보다 작다면 1씩 증가한다.
            {
                for (j = 0; j < i; j++) // j가 i보다 커지기 전까지 *를 출력한다.
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            #endregion

            #region 2번문제

            for (i = 0; i < 6; i++) // 반복될때마다 i가 증가된다.
            {
                for (j = 0; j < (6 - i); j++) // 반복될때마다 6에서i를 뺀 값 만큼 클때까지 공백을 더한다.
                {
                    Console.Write(" ");
                }
                for (k = 0; k <= i; k++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            #endregion

            #region 3번문제

            for (i = 0; i < 6; i++)
            {
                for (j = 0; j < (6 - i); j++)
                {
                    Console.Write("*");
                }

                Console.WriteLine();
            }

            #endregion

            #region 4번문제

            for (i = 0; i < 6; i++) // 줄바꿈하는 반복어
            {
                for (k = 0; k < i; k++) // 공백을 출력하는 반복어
                {

                    Console.Write(" ");
                }
                for (j = 0; j < (6 - i); j++) // 별을 출력하는 반복어
                {
                    Console.Write("*");
                }

                Console.WriteLine();
            }
            #endregion

 


        코드는 위에서 아래로.for문은 한번 루프에 빠지면 그 구간에서 돈다.
        만약 조건이 부합한다면 괄호 안 내용을 실행한다.
        루프 안에 들어간 대입은 루프가 실행될때마다 그 값으로 초기화한다.
        괄호 안에 루프가 있을 경우, 첫번째 루프를 반복한다. ( 위에서 아래로 내려간다는 특징때문에. )