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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| #include <stdio.h>
#include <stdlib.h>
static int est_bissextile(int annee);
static int mois_n_jours(int mois, int annee);
int main(void)
{
int annee = 2008;
int nb_jour[12 + 1] = {0};
int i;
for (i = 1; i <= 12; i++)
{
nb_jour[i] = mois_n_jours(i, annee);
}
printf("Année %d\n", annee);
printf("%s %s\n", "Le mois", "Nombre de jours");
printf("%s %s\n", "_______", "_______________");
for (i = 1; i <= 12; i++)
{
printf("%7d %15d\n", i, nb_jour[i]);
}
return 0;
}
/*
* Determine si une annee est bissextile ou non
*/
static int
est_bissextile(int annee)
{
int ret = 0;
if ((annee % 4 == 0 && annee % 100 != 0) || (annee % 400) == 0)
{
ret = 1;
}
return ret;
}
/*
* Renvoie le nombre de jours que contient mois.
*/
static int
mois_n_jours(int mois, int annee)
{
int njours;
if (mois == 2)
{
njours = 28 + est_bissextile(annee);
}
else
{
/* -tc- les mois 1 3 5 7 8 10 12 ont 31 jours */
njours = 30 + ((mois % 2) == (mois < 8));
}
return njours;
} |
Partager