배열이 맞는지 확인
공주
질문 제목 : 요일 계산 코드 질문월에 따른 누적된 일수에 대한 질문질문 내용 :
#include stdio.h
// 월에 따른 누적된 일수를 담은 배열
int a_month[13] = { 0, 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 };
// 요일을 담은 배열
char a_week[9][3] = { , 월, 화, 수, 목, 금, 토, 일 };
void process_day( int, int, int );
int main()
{
int year; // 입력받은 년도를 저장할 변수
int month; // 입력받은 월을 저장할 변수
int day; // 입력받은 일을 저장할 변수
printf( ---------------------------------------------------\n );
printf( 입력 받은 날짜의 해당 요일을 구하는 프로그램\n );
printf( ---------------------------------------------------\n\n );
printf( 년도를 입력하세요 : );
scanf( %d, &year );
printf( \n );
printf( 월을 입력하세요 : );
scanf( %d, &month );
printf( \n );
printf( 일을 입력하세요 : );
scanf( %d, &day );
printf( \n );
process_day( year, month, day );
}
void process_day( int _year, int _month, int _day )
{
// 입력 받은 날짜까지의 일수를 구해 저장할 변수
int process_day;
// 1년 1월 1일은 == 1일이므로 ( year - 1 )
// 윤달은 4의 배수이면서 100의 배수 년도에는 4의 배수이지만 윤달이 아니며, 400의 배수는 100배수이지만 윤달이다
process_day = ( ( _year - 1 ) * 365 ) + a_month[_month] + _day + ( _year / 4 ) - ( _year / 100 ) + ( _year / 400 );
printf( 입력하신 %d년 %d월 %d일은 %s요일 입니다.\n, _year, _month, _day, a_week[process_day % 7]);
}윤년을 고려하여 1년 1월 1일을 월요일이라 할 때 년도 월 일을 입력받아
요일 구하는 프로그램에 대해서 알아보는 도중에 소스코드 이해 안 가는 부분 질문드립니다.
month 에서 누적일수와 요일을 배열로 만들었는데
왜 누적일수 처음 두 부분이 0 인지 그리고 왜 요일 첫부분은 그냥 인지 이해가 안가서 질문드립니다.