C언어/C언어 예제

[C언어 소스] 달력 출력하기

언제나휴일 2022. 6. 15. 10:22
반응형

년도와 일수 입력받아 날짜 계산하기

 

 

알고리즘

날짜 계산(년도, 일수)

월별 일수:={ 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언어 소스] 년도 입력하면 달력 출력하기 – 언제나 휴일

윤년 계산하기 4로 나누어 떨어지는 해는 대부분 윤년입니다. 이 중에 100으로 나누어 떨어지는 해는 대부분 평년입니다. 이 중에 400으로 나누어 떠러지면 윤년입니다. 윤년(년도)….(년도는 4의

ehpub.co.kr

반응형