Calendario Lunar 2118

/*

1, algoritmo de año bisiesto:

Si un año es divisible por 4 pero no por 100,

o es divisible por 400,

Entonces este año es bisiesto.

Solo usa una expresión para expresarlo

(Año % 4 == 0 & amp& amp Año % 100! = 0) | (Año % 400 == 0) < / p>

2. Calcula el día de la semana:

Se sabe que la fecha de 1901 de octubre es lunes.

Luego podrás encontrar el día de la semana usando un número de días diferente al 65438 de 1900 + 1 de octubre.

Esta pregunta está basada en la fecha del 1 de octubre d.C.+1.

*/

# incluir & ltstdio.h & gt

# incluir & ltconio.h & gt

# incluir & ltstdlib .h & gt

int IsLeapYear(int); //Definición de función

void main()

{

int I;

int día

A través de años;

int temp

int temp _ I

long int Año; _ días = 0;

int Año _ Inicio = 1;

Interés cada _año_día

int mes _ día【】= { 31, 28 , 31 , 30, 31, 30, 31, 30, 31, 30, 31, 29 };

printf ("Ingrese el año: "); ", & año); //Ingrese el año

while (Year_Start <year) //El ciclo while se ejecutará desde el año 1 d.C., el primer día de enero de ese año es lunes.

{

if (es año bisiesto (Year_Start))

Every_year_days = 366; //Si es año bisiesto, hay 366 días.

Otros

Días por _año = 365; //Si no es año bisiesto, un año tiene 365 días.

Día_año = día_año + día_año; //Días_año es el número total de días desde 1 hasta el año anterior al año ingresado.

year_start++;

}

for (temp = 1; temperatura <=12; temp++) //la temperatura va de 1 a 12, Corresponde a los 12 meses del año.

{

Switch (temp) //Utilice la instrucción switch para asociar temp con 12 meses.

{

Caso 1:

printf("Enero (% d)\n", año); //Enero

Descanso;

Caso 2:

printf("Febrero (% d)\n", año); //Febrero

Descanso

Caso 3:

printf("Marzo (% d)\n", año); //Marzo

Descanso;

Caso 4:

printf("Abril (% d)\n", año); //Abril

Descanso;

Caso cinco:

printf("Mayo(%d)\n",año); //tal vez

descanso;

Caso 6:

printf("Junio( %d)\n", año); //Junio

Descanso;

Caso 7:

printf ("Julio(%d)\n" , año); //Julio

Descanso;

Caso 8:

printf("Agosto (%d)\n", año); Agosto

Descanso;

Caso 9:

printf("Septiembre (%d) \n", año); //Septiembre

Descanso;

Caso 10:

printf("Octubre (%d)\n", año); //Octubre

Descanso;

Caso 11:

printf("Noviembre (% d)\n", año); //Noviembre

Descanso;

Caso); 12:

printf("Diciembre (% d)\n", año); //Diez de febrero

Descanso;

}

I = Año _ días % 7; //Hay 7 días en una semana, así que use la cantidad de días en un año para completar 7.

printf("Mon\tTue\tWed\tThu\tFri\tSat\tSun\n");

if (i!= 0) //si el resto no es cero

for (temp_I = 0; temp_i & ltI; temp_i++)

printf ("\t"); //Imprime espacios (reemplaza los espacios con \t aquí, más bonito), el El número de espacios es I.

día = 1; //Inicializa el día en 1 para prepararte para el siguiente ciclo while.

if (un año) después & amptemp == 2) //Si el año ingresado es bisiesto y el mes es 2,

mientras (día <= mes _ day【 12]) //day es una variable de bucle con un valor de 1-365 (1-366 para años bisiestos).

{

if (día > 1) //Si el número de días es mayor a un día

Si (Año _ días % 7 == 0) //Si es domingo y se cambiará la fila.

printf("\n");

if(día>= 10)

printf("% d\t",día); Imprimir el número de días + espacio

Otros

printf ("% d\t", día);

año _ días++;

día++;

}

Else //Si "el año de entrada es bisiesto y el mes es 2" no se cumple.

mientras (día & lt; = mes _ día [temp-1])

{

si (día & gt; 1)

if (Días_año % 7 == 0)

printf ("\n");

if (día>=10)

printf( "% d\t",día);

Otro

printf("%d\t",día);

año _ días++;

día++;

}

printf("\n");

If(getch() = ='q ') // Si la entrada es q, salga del programa.

Exit(0);

}

getch(); //Imprime un mes cada vez que se presiona la tecla.

}

Años que abarcan

{

//Determine si es un año bisiesto, si es así, devuelva 1, de lo contrario devuelva 1 0.

if ((año % 4 == 0) & & amp (año % 100 ! = 0) ||

(año % 400 == 0))

p>

Devuelve 1;

Otro

Devuelve 0;

}