Calendario 910

#Contiene "stdio.h"

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

void main()

{

int mes día【12】= {31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31}

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

Printf ("Ingrese el año yyyy:\ n"

scanf ("% d", &y

); if (y % 4 = = 0 & & ampy%100! = 0) mes día [1] = 29

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

{

printf("\n %d año, %d mes\n",y,m);

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

para (d = 1; d & lt= día del mes [m-1]; d++)

{

w = semana (y, m, d);

if (d == 1)

{

for(I = 0;i<w;i++)printf(""

}

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

else printf ("% d", d <); /p>

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

}

}

}

Semana entera (entero y, entero m, entero d)

{

int w;

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

{

y-;

m+= 12;

}

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

Retorno (w);

}

Los resultados en ejecución son los siguientes:

Ingrese el año yyyy:

2001

Enero de 2001

S M T w V 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, febrero

S M T w V 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, marzo

S M T w V 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, abril

S M T w V 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, mayo

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, junio

S L T w V F S

1 2

p>

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, julio

S M T w V 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, agosto

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, septiembre

S M T w V 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, octubre

S M T w V 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

Noviembre 2001

S M T w V 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+febrero

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 31Por favor presione cualquier tecla para continuar.. .