2019년 3월 20일 수요일

C언어 배우기 (별찍기편)

오늘은 별찍기 문제를 풀어보았다.
문제의 답을 얻진 못했지만 답에 근접한 답을 얻었다.
여러가지 삽질을 했다. 답답하지만 이 또한 경험이라고 생각한다.

문제는
첫째 줄에는  N둘째 줄에는  N-1, ..., N번째 줄에는  1개를 찍는 문제
다.

원래 5를 입력하면 
*****
 ****
  ***
   **
    *
이런 식으로 별들이 오른쪽으로 정렬된 채로 계단 형식으로 출력돼야 한다.
근데 내가 만든 소스코드에 5를 입력하면 별들이 왼쪽으로 정렬된 계단이 출력된다.

내가 만든 소스코드는
#include <stdio.h>

int main()
{
    int n, i, k;
    scanf("%d", &n);
    for(i = 0; n > i; i++)
    {
        for(k = n; k >= 1; k--)
        {
            if(k - i > 0)
            {
                printf("*");
            }
            else printf(" ");
        }
        printf("\n");
    }

}
이거다. 
문제의 답을 구하지 못했기 때문에 이 문제의 답을 검색해본 다음에 그 답을 하나하나 분석해야 겠다. 내일은 문제의 답을 분석해 본 다음에 별찍기 다음 문제를 풀어봐야 겠다.
삽질을 많이 했지만 충분히 좋은 삽질이었던 것 같다.

댓글 1개: