Exercice

Déclarer un tableau nb_jour qui doit être initialisé de façon à ce que nb_jour[i] soit égal au nombre de jours du i$^{eme}$ mois de l'année pour i allant de 1 à 12 (nb_jour[0] sera inutilisé).

Écrire une procédure d'initialisation de nb_jour qui utilisera l'algorithme suivant :

-
si i vaut 2 le nombre de jours est 28 ;
-
sinon si i pair et i <= 7 ou i impair et i > 7 le nombre de jours est 30 ;
-
sinon le nombre de jours est 31.

Écrire une procédure d'impression des 12 valeurs utiles de nb_jour. La procédure main se contentera d'appeler les procédures d'initialisation et d'impression de nb_jour.

#include <stdio.h>
int nb_jours[13];

/*****************************************************************************/
/*                                                                           */
/*                              init_nb_jours                                */
/*                                                                           */
/*   But:                                                                    */
/*      Initialise le tableau nb_jours                                       */
/*                                                                           */
/*****************************************************************************/
void init_nb_jours(void)
{
int i;

for (i = 1; i <= 12; i++)
   if (i == 2)
      nb_jours[2] = 28;
   else if ( (i % 2 == 0) && i <= 7 || (i % 2 == 1) && i > 7 )
      nb_jours[i] = 30;
   else nb_jours[i] = 31;
}

/*****************************************************************************/
/*                                                                           */
/*                              print_nb_jours                               */
/*                                                                           */
/*   But:                                                                    */
/*      Imprime le contenu du tableau nb_jours                               */
/*                                                                           */
/*****************************************************************************/
void print_nb_jours(void)
{
int i;

for (i = 1; i <= 12; i++)
   printf("%d  ",nb_jours[i]);
printf("\n");
}

/*****************************************************************************/
/*                                                                           */
/*                              main                                         */
/*                                                                           */
/*****************************************************************************/
int main(void)
{
init_nb_jours();
print_nb_jours();
return 0;
}



Matthieu Moy 2017-02-08