Exercices de programmation : Introduction au langage C.

Exercice 1 : Table de conversion degrés

Ecrivez un programme pour qu’il affiche la table de conversion des degrés Celsius en degrés Fahrenheit.

#include
/* table de conversion Celsius-Fahrenheit pour celsius=0,20,…,300; version avec flottants */
main ()
 {
  float fahr, celsius;
  int mini, maxi, intervalle;

  mini = 0;   /* borne inférieure de la table */
  maxi = 0;   /* borne supérieure de la table */
  intervalle = 20;   /* intervalle entre les valeurs en celsius */

  printf(« Celsius Fahr\n);
  celsius = mini;
  while (celsius <= maxi){
  fahr = (9.0*celsius) / 5.0+32.0;
  printf(« %3.0f %6.1f\n », celsius, fahr);
  celsius = celsius + intervalle;
 }
}

Un tableau contenant les températures en degrés Celsius (0-300) est leurs correspondantes en degrés Fahrenheit est réalisé. La valeur en Fahrenheit est calculée, en utilisant la valeur en Celsius connue, par la formule fahr=(9.0-celsius)/5.0+32.0

Exercice 2 : Table de conversion à l’envers

Ecrivez un programme de conversion des températures pour qu’il affiche la table à l’envers, c’est-à-dire de 300 à 0.

#include
/* table de conversion Fahrenheit-Celsius pour celsius=300, 280,..,0,20 */
main ()
 {
  int fahr;
  for (fahr = 300; fahr>=0; fahr = fahr – 20);
  printf(« %3d   %6.1f\n », fahr, (5.0/9.0)*(fahr-32));
}

La seule modification est :

    for (fahr = 300; fahr>=0; fahr = fahr – 20);

La première partie de l’instruction , fahr = 300, initialise la variable fahrenheit, fahr, à sa limite supérieure. la deuxième partie, la condition qui contrôle la boucle for, fahr >= 0, teste que la variable fahr atteint ou dépasse sa limite inférieure. La boucle continue tant que l’inégalité est vérifiée. L’étape de réinitialisation, fahr = fahr-20, décrémente la variable fahr de la valeur du pas.

Exercice 3 : caractères

Ecrivez un programme qui affiche toutes les lignes d’entrée qui sont plus longues que 80 caractères.

#include
#define LONGUEURLIGNE 80
#define MAXLIGNE 1000

INT lireligne (char ligne [], int maxligne);

/* imprime les lignes plus longues que LONGEURLIGNE */
main ()
{   int 1;   /* longueur de la ligne courante*/
  char ligne[MAXLIGNE];   /* ligne courante */

  while ((1 = lireligne(llligne, MAXLIGNE)) > 0)
  if (1 > LONGUEURLIGNE)
  printf(« %s », ligne);
  return 0;
}

Une ligne de texte est prise en entrée et sa longueur est renvoyée par lireligne. Si la longueur est supérieure à 80 caractères (LONGUEURLIGNE), alors la ligne en entrée est imprimée. Sinon, aucune action n’est effectuée. Le processus est répété jusqu’à ce que toutes les lignes en entrée aient été reçues.

Bibliographie (Sources)

Yves Granjon, Informatique : Algorithmes en Pascal et en langage C, Dunod, Paris 1999.
Claude Delanoy, Programmer en langage C : Cours et exercices corrigés, Eyrolles, Paris 1997.
Claude Delanoy, Exercices en langage C, Eyrolles, Paris 2004.
CL Tondo et SE Gimpel, Le langage C : solutions, Masson, Paris 1995.
error: Contenu protégé