문제1949--[종합-기초][C] 내 마음대로 달력

1949: [종합-기초][C] 내 마음대로 달력

[만든사람 : 2023 박정호,박혜미,백승관,안득하,유현호,이경미,이민혁,임건웅,임수빈,임의정,임태현,한진우,황윤정]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

새해를 맞이하여 달력을 선물받은 금쪽이는 문득 달력을 직접 만들어보고 싶어졌다. 시작 요일을 알면 반복문을 사용하여 쉽게 만들 수 있을 것 같았다. 1일이 시작할 요일과 한 달이 끝나는 날짜를 입력받아 달력을 만드는 프로그램을 만들어 보자. (단, 윤년은 고려하지 않는다.)



입력 설명

1일로 설정할 요일(day)과 종료날짜(date)를 차례대로 공백을 두고 입력한다.

단, 요일은 숫자로 일요일:0, 월요일:1, 화요일:2, 수요일:3, 목요일:4, 금요일:5, 토요일:6 으로 입력한다.

0 <= day <= 6

28 <= date <= 31

출력 설명

입력받은 요일을 1일로 설정하여 입력받은 종료날짜까지 달력형태로 출력한다.

입력 예시 Copy

4 31

출력 예시 Copy

일 월 화 수 목 금 토
             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

도움

1. 1일이 나오기 전 공백은 아래와 같은 코드로 표현할 수 있다.

for (i = 0; i < day; i++){

printf(" "); //공백 3칸 삽입

}

2. 열을 예쁘게 맞추기 위해 요일 사이 간격은 한 칸씩 띄우고, 날짜는 2글자로 입력해야 한다. 따라서 날짜를 출력할 때는 “%2d ”를 사용하도록 한다.