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; p>
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++; p>
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;
}