2122年历

#包含“stdio.h“

int week(int y,int m,int d);

void main()

{

int month day【12】= { 31,28,31,30,31,30,31,30,31,30,31 };

int y,w,I,m=1,d=1

Printf(“请输入年份yyyy:\ n“);

scanf(“% d“,& ampy);

if(y % 4 = = 0 & amp;& ampy%100!= 0)month day【1】= 29;

for(m = 1;m & lt=12;m++)

{

printf(“\n %d年,% d月\ n“,y,m);

printf(“S M T w T F S \ n“);

for(d = 1;d & lt= month day【m-1】;d++)

{

w =周(y,m,d);

if(d = = 1)

{

for(I = 0;我& ltw;i++)printf(““);

}

if(d & lt;10)printf(“% d“,d);

else printf(“% d“,d);

if(w = = 6)printf(“\ n“);

}

}

}

整数周(整数y,整数m,整数d)

{

int w;

if((m = = 1)| |(m = = 2))

{

y-;

m+= 12;

}

w =(d+2 * m+3 *(m+1)/5+y+y/4-y/100+y/400+1)% 7;

返回(w);

}

运行结果如下:

请输入年份yyyy:

2001

2001年,1月

S M T w T F S

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

2001,二月

S M T w T F S

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28

2001,三月

S M T w T F S

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30 31

2001,四月

S M T w T F S

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30

2001,五月

S M T w T F S

1 2 3 4 5

6 7 8 9 10 11 12

13 14 15 16 17 18 19

20 21 22 23 24 25 26

27 28 29 30 31

2001,六月

S M T w T F S

1 2

3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 29 30

2001,七月

S M T w T F S

1 2 3 4 5 6 7

8 9 10 11 12 13 14

15 16 17 18 19 20 21

22 23 24 25 26 27 28

29 30 31

2001,八月

S M T w T F S

1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31

2001,九月

S M T w T F S

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30

2001年,10月

S M T w T F S

1 2 3 4 5 6

7 8 9 10 11 12 13

14 15 16 17 18 19 20

21 22 23 24 25 26 27

28 29 30 31

2001年,11月

S M T w T F S

1 2 3

4 5 6 7 8 9 10

11 12 13 14 15 16 17

18 19 20 21 22 23 24

25 26 27 28 29 30

2001,65438+二月

S M T w T F S

1

2 3 4 5 6 7 8

9 10 11 12 13 14 15

16 17 18 19 20 21 22

23 24 25 26 27 28 29

30 31请按任意键继续...