Red de conocimientos turísticos - Conocimientos sobre calendario chino - Los principiantes piden consejo sobre dos preguntas sencillas sobre programación en lenguaje C

Los principiantes piden consejo sobre dos preguntas sencillas sobre programación en lenguaje C

[Respuesta]

1. Utilice la función de tiempo propia del lenguaje C

difftime(time_t time1, time_t time0) / 86400

La desventaja de esto es que el tipo time_t aquí solo admite hasta 2037

2. Defina sus propias funciones

El método utilizado por el cartel no se usa comúnmente en la programación real y los cambios son relativamente grandes.

El siguiente método calcula directamente el número de días desde dos fechas hasta el primer año de la era cristiana

y luego los resta. Este es un algoritmo utilizado en la programación real. Ha sido refinado por muchos programadores. Ampliamente utilizado

#include

#define LEAP(y) (y%(y%100?4:400)==0. ) /* AD y Si el año es bisiesto*/

long totaldays(int año,int mes,int día)/*El número total de días en el año AD*/

{ int días[]={0,31 ,28,31,30,31,30,31,31,30,31,30,31}

int c=día,m ,y=año-1;

días[2]=28+LEAP(año

for(m=1;m

return c+y /4-y/10y/40y*365L

}

void main()

{ int y,m,d; long t1,t2;

printf("fecha 1: "); %*c%d",&y,&m,&d) ;

t1=totaldays(y,m,d);

printf("fecha 2: ");

scanf("%d%*c %d%*c%d",&y,&m,&d

t2=totaldays(y,m,d); >

printf("días totales: %ld\ n",t2-t1

}

Estos deberían ser todos los métodos de implementación

No es necesario simplificar el método del cartel original

En particular, no es necesario buscar códigos cortos deliberadamente

Debes saber que si el código es corto, la legibilidad será pobre

Solo cuando los dos están bien coordinados se puede llamar un buen programa^ ^

Conozco el silencio de la lluvia

pe="text/javascript" src="../css/tongji.js">