Descubra una descripción detallada del código fuente del calendario C

/*Se modificó ligeramente el formato de alineación inferior y se agregaron comentarios*/

/*

1, algoritmo de año bisiesto:

Si un año es divisible por 4, pero no es divisible 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)

2. Calcula el día de la semana:

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

Luego puedes usar un número de días diferente a 65438 + 1 de octubre de 1900 para encontrar el día de la semana.

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;

int año;

temperatura interna;

int temp_I

largo int año; _ días = 0;

int Año _ Inicio = 1;

Interés por _año_días

int mes_día[]={31, 28, 31, 30 , 31, 30, 31, 30, 31, 30, 31, 29};

printf("Ingrese el año:");

scanf( "%d", &year);//Ingrese el año

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

{

if(es año bisiesto(Año _ Inicio))

Por _ Año _ Días = 366//Si es un año bisiesto, hay Son 366 en un año cielo.

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.

año _ start++;

}

for(temp = 1; temp & lt=12;Temp++) //El rango de temperatura es de 1 a 12 , Corresponde a los 12 meses del año.

{

Switch(temp) //Utilice la instrucción Switch para asociar temporal 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 5:

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

Romper;

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

Pausa;

Caso 10:

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

Pausa;

Caso 11:

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

Descanso;

Caso); 12:

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

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"); //Imprimir espacios (reemplace los espacios con \t aquí) , más bonito), el número de espacios es I.

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

if( IsLeapYear(year) and amp& ampTemp == 2) //Si el año de entrada es bisiesto y el mes es 2,

while(day & lt; = mes_día[12 ]) //día es una variable de bucle con un valor de 1-365 (1-366 para años bisiestos).

{

if(día & gt; 1) //Si el número de días es mayor que 1

If( Year_days% 7 == 0) //Si es domingo, se cambia 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ías);

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[temperatura-1])

{

if(día & gt; 1)

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

printf(" \ n ");

if(día & gt;=10)

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

Otros

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

año _ días++; p>

día++;

}

printf(" \ n ");

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

Exit(0);

}

getch(); //Imprime un mes por cada pulsación de tecla.

}

Años que abarcan (varios años)

{

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

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

(año % 400 == 0)) p>

Devuelve 1;

Otro

Devuelve 0;

}