달력
- 최초 등록일
- 2010.09.27
- 최종 저작일
- 2009.08
- 6페이지/ 한컴오피스
- 가격 1,500원
소개글
1979년 1월을 기준 년, 월로 1979년 이후와 1월~12월 사이의 달력만 출력하게 한다.
만약, 입력해가 윤년이라면 2월의 달을 29일까지 출력 해야한다.
1979년 1월부터 입력한 년, 달까지의 모든 일수를 7로 나누어 나머지를 가지고 출력할 년, 달의 1일의 요일을 결정한다. 1년은 윤년이면 366일, 윤년이 아니라면 365일이다.
목차
1.문제정의
2. 문제분석
3. 문제해결(순서도)
4. 프로그램
5. 결과, 결론
6. 느낀점
본문내용
#include <stdio.h>
void main (void)
{
int r, i, a, Y, y, m, d; /*y = 입력받은 년, m = 입력받은 달, r = 입력받은 년, 달의 시작하는 요일, 입력받은 년까지의 윤년의 합*/
a = 0;
printf("년을 입력하시오.n");
scanf("%d", &y);
printf("월을 입력하시오.n");
scanf("%d", &m);
if (y < 1979 || m > 12 || m < 1) /*1979년 1월이 기준*/
printf("1979년 이후 1월~12월 사이를 입력하시오.n");
else
{
for(Y = 1979; Y < y; Y++) /*입력한 해까지의 윤년 일수를 계속 더해줌.*/
{
if (Y%4==0 && Y%100!=0 || Y%400==0)
a = a + 1;
}
if (m == 1) /*매 달의 1일 까지의 일수의합*/
d = 1;
else if (m == 2)
d = 32;
else if (m == 3)
d = 60;
else if (m == 4)
d = 91;
else if (m == 5)
d = 121;
else if (m == 6)
d = 152;
else if (m == 7)
d = 182;
else if (m == 8)
d = 213;
else if (m == 9)
d = 244;
else if (m == 10)
d = 274;
else if (m == 11)
d = 305;
else if (m ==12)
d = 335;
if(Y%4==0 && Y%100!=0 || Y%400==0)
if (m == 1 || m == 2)
r = ((y - 1979) * 365 + a + d) % 7;
참고 자료
없음