思路:1.首先你必须给一个基准年 ,在给出这一年的某一天,是星期几 例如 2000 1 1 星期6
2.那如何求2000 2 1是星期几呢?(1月1号的星期6+一月的天数)%7 要考虑平年闰年 2月天数不一样
3.那如何求2001 1 1是星期几?(2000年的一月一号+2000年的天数)%7 要考虑平年闰年天数不一样
根据以上规律,要求出某年某月的日历,按照步骤3,只要先求出某年的1月1号星期几,再求出这一年某月的1号是星期几 即可.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int IsLeapYear ( int year )
{
if ( (year % 4)==0 && (year % 100)!=0 || (year % 400)==0 )
return 1;
else
return 0;
}
int main ( )
{
int months[2][13] =
{ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int base_year=2000;
int base_weak = 6;
int year;
int month;
printf ( "year-month" );
scanf ( "%d%d"