• Lenguaje

    C

  • Descripción

    Calcula la fecha del día de pascua de un año dado.

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
32
33
34
35
36
37
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    float anno, d, dia_de_pascua, e, mes_de_pascua;
    printf ("Ingresa el valor de anno: ");
    scanf ("%f", &anno);
    (void) getchar ();
    d=(19*(anno%19)+24)%30;
    e=(2*(anno%4)+4*(anno%7)+6*d+5)%7;
    if(d+e<10)
        dia_de_pascua=d+e+22;
    else
        dia_de_pascua=d+e-9;
    if(d+e<10)
    {
        mes_de_pascua=3;
        printf ("Marzo\n");
    }
    else
    {
        mes_de_pascua=4;
        printf ("Abril\n");
    }
    if(dia_de_pascua==26&&mes_de_pascua==4)
        dia_de_pascua=19;
    if(dia_de_pascua==25&&mes_de_pascua==4&&d==28&&e==6&&(anno%19)>10)
        dia_de_pascua=18;
    printf ("Valor de d: %g\n", d);
    printf ("Valor de dia de pascua: %g\n", dia_de_pascua);
    printf ("Valor de e: %g\n", e);
    printf ("Valor de mes de pascua: %g\n", mes_de_pascua);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}