Exercice langage C corrigé les fonctions de stdlib

 Exercice 1 :

Nombre –> Chaîne

Le standard ANSI-C ne contient pas de fonctions pour convertir des nombres en chaînes de caractères. Si on se limite aux systèmes fonctionnant sous DOS, on peut quand même utiliser les fonctions itoa, ltoa et ultoa qui convertissent des entiers en chaînes de caractères.

Conversion de nombres en chaînes de caractères

itoa (<n_int>, <s>, <b>)

ltoa (<n_long>, <s>, <b>)

ultoa (<n_uns_long>, <s>, <b>)

Chacune de ces trois procédures convertit son premier argument en une chaîne de caractères qui sera ensuite attribuée à <s>. La conversion se fait dans la base <b>.

<n_int> est un nombre du type int
<n_long> est un nombre du type long
<n_uns_long> est un nombre du type unsigned long
<s> est une chaîne de caractères
longueur maximale de la chaîne: 17 resp. 33 byte
<b> est la base pour la conversion (2 … 36)

 

Entrée:

integer long double
a) 123 123 123 123.000000
b) -123 -123 -123 -123.000000
c) - 123 0 0 -0.000000
d) 123.45 123 123 123.45
e) 12E3 12 12 12000.000000
f) 1234f5 1234 1234 1234.000000
g) 1234567 dépassement -1234567 -1234567.000000
h) 123e-02 123 123 1.230000
i) -0.1234 0 0 -0.123400

Exercice 2

#include <stdio.h>
#include <stdlib.h>
 main()
{
 long N;
 char STR[200];
 do
    {
     puts("Entrez un nombre :");
     scanf("%ld",&N);
     printf("Entrée  = %ld\n", N);
     printf("base 2  = %s\n", ltoa(N, STR, 2));
     printf("base 8  = %s\n", ltoa(N, STR, 8));
     printf("base 16 = %s\n", ltoa(N, STR, 16));
    }
 while(N);
 return 0;
}

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *