년도와 일수 입력받아 날짜 계산하기
알고리즘
날짜 계산(년도, 일수)
월별 일수:={ 31,28,31,30,31,30,31,31,30,31,30,31};
조건(year is 윤년)
2월 달 일수:=29
반복(일수>월별일수[달])
일수:= 일수 – 월별일수[달]
날짜 출력
1월 1일 요일 입력받아 달력 출력
전역 데이터 월별 날짜={31,28,31,30,31,30,31,31,30,31,30,31}
메인 알고리즘
…년도 입력
…시작 요일 입력
…조건(입력한 년도가 윤년이면)
……2월달의 날 수를 29로 설정
…반복(m:1->12)
……시작 요일 = 월 출력(m,시작 요일)
월 출력(m,시작 요일)
…월 출력
…반복(w:1->시작 요일)
……공백 출력
…반복(d:1->월별 날짜[월])
……시작 요일 1 증가
……조건(시작 요일 is equal 7)
…………시작 요일:= 0
…………개행 출력
…시작 요일 반환
년도 입력하면 달력 출력하기
윤년 계산하기
4로 나누어 떨어지는 해는 대부분 윤년입니다.
이 중에 100으로 나누어 떨어지는 해는 대부분 평년입니다.
이 중에 400으로 나누어 떠러지면 윤년입니다.
윤년(년도)
….(년도는 4의 배수 and 년도는 100의 배수가 아님) or 년도는 400의 배수
1월 1일의 첫 번째 요일 찾기
평년은 365일로 요일이 하나 증가합니다.
윤년은 366일로 요일이 하나 더 증가합니다.
따라서 특정 년도는 “년도 + 윤년 개수”만큼 증가합니다.
달 출력하기
월 출력(m,시작 요일)
….월 출력
….반복(w:1->시작 요일)
……..공백 출력
….반복(d:1->월별 날짜[월])
……..시작 요일 1 증가
……..조건(시작 요일 is equal 7)
…………시작 요일:= 0
…………개행 출력
….시작 요일 반환
'C언어 > C언어 예제' 카테고리의 다른 글
[C언어] 스택을 다양한 방법으로 구현하기 (0) | 2022.06.19 |
---|---|
[C언어 소스] 파일 입출력 함수, 파일 복사, 라인 번호와 함께 내용 출력 및 전체 문자 수 출력하기 (0) | 2022.06.17 |
[C언어] 제일 가까운 친구를 찾아라. 구조체 배열 사용하기 (0) | 2022.06.14 |
[C언어] 8가지 정렬 알고리즘 (0) | 2022.05.31 |
[C언어 소스] 광고판 만들기 – 콘솔 배경색, 글자 색 설정 (0) | 2022.05.27 |