1541: [종합-기초][C] 내 마음대로 달력
[만든사람 : 2023 박정호,박혜미,백승관,안득하,유현호,이경미,이민혁,임건웅,임수빈,임의정,임태현,한진우,황윤정]
문제 설명
새해를 맞이하여 달력을 선물받은 금쪽이는 문득 달력을 직접 만들어보고 싶어졌다. 시작 요일을 알면 반복문을 사용하여 쉽게 만들 수 있을 것 같았다. 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 ”를 사용하도록 한다.