336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
/* * main.c * * Created on: 2013. 8. 1. * Author: Administrator */ #includeint monthDay(int year, int month) { int result; if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) { result = 31; } else if (month == 4 || month == 6 || month == 9 || month == 11) { result = 30; } else if (month == 2) { if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) { result = 29; } else { result = 28; } } return result; } int monthDayName( year, month) { int result; int dayCount = 0; int i, j; // 기준점 : 1900년 1월 1일 은 월요일이다. // 월요일 : 2 // 1 : 일요일 // 2 : 월요일 // 3 : 화요일 // 4 : 수요일 // 5 : 목요일 // 6 : 금요일 // 7 : 토요일 // 1903 for (j = 1900; j < year; j++) { for (i = 1; i < 13; i++) { dayCount += monthDay(j, i); } } // 2013 3 // 2013 +1 // 2013 +2 for (i = 1; i < month; i++) { dayCount += monthDay(year, i); } result = (dayCount + 2) % 7; return result; } void printTitle(int year, int month) { printf("\n %d 년 %d 월 \n", year, month); printf("일 월 화 수 목 금 토\n"); } void printBody(int year, int month) { int dayName; int i; dayName = monthDayName(year, month); for (i = 1; i < dayName; i++) { printf(" "); fflush(stdout); } for (i = 1; i < monthDay(year, month); i++) { printf("%2d ", i); fflush(stdout); if ((dayName + i - 1) % 7 == 0) { printf("\n"); fflush(stdout); } } } int main() { int month; // 사용자로부터 입력 받을 값 저장 int year; // 사용자로부 터 입력 받을 값 저장 int totalDay; // n! 를 구한 결과값 int dayName; // n! 를 구한 결과값 printf("일자를 구할 연도를 입력하세요 : "); fflush(stdout); scanf("%d", &year); printf("일자를 구할 달을 입력하세요 : "); fflush(stdout); scanf("%d", &month); totalDay = monthDay(year, month); dayName = monthDayName(year, month); printf("%d 년 %d 월은 총 %d일 입니다.\n", year, month, totalDay); switch (dayName) { case 1: printf("%d 년 %d 월 1일은 일요일 입니다.\n", year, month); break; case 2: printf("%d 년 %d 월 1일은 월요일 입니다.\n", year, month); break; case 3: printf("%d 년 %d 월 1일은 화요일 입니다.\n", year, month); break; case 4: printf("%d 년 %d 월 1일은 수요일 입니다.\n", year, month); break; case 5: printf("%d 년 %d 월 1일은 목요일 입니다.\n", year, month); break; case 6: printf("%d 년 %d 월 1일은 금요일 입니다.\n", year, month); break; case 0: printf("%d 년 %d 월 1일은 토요일 입니다.\n", year, month); break; } printTitle(year, month); printBody(year, month); return 0; }
'Programming > C,CPP,CS' 카테고리의 다른 글
측정값 오류 찾기 + 파일 입출력 (0) | 2013.12.08 |
---|---|
C 패턴 분석 프로그램 (0) | 2013.12.08 |
아스키코드표 (0) | 2013.05.02 |
프로그래밍용으로 좋은 폰트 (0) | 2013.03.23 |
CPP 토큰으로 단어 구분후 단어별 카운트 프로그램 (0) | 2013.01.26 |