Home- Exercices - Solutions des exercices

 

Page Précédente - Page Suivante


Exercices chapitre 8 : Les chaines de caractères

Exercice 8.1.

 

Indiquez les erreurs qui existent pour chacune des déclaration suivantes :

a)   char a[]   = "un\ndeux\ntrois\n";
b)   char b[12] = "un deux trois";
c)   char c[]   = 'abcdefg';
d)   char d[10] = 'x';
e)   char e[5]  = "cinq";
f)   char f[]   = "Cette "   "phrase"   "est coupée";
g)   char g[2]  = {'a', '\0'};
h)   char h[4]  = {'a', 'b', 'c'};
i)   char i[4]  = "'o'";

Exercice 8.2

 

Ecrire un programme en C qui permet de saisir par clavier cinq mots puis de les afficher dans l’ordre inverse ?
Exemple

   Bonjour tous le monde !
   ! monde le tous Bonjour

 

Exercice 8.3

 

Ecrire un programme en C qui permet de :

  1. Déclarer une chaine de caractère TXT
  2. De saisir la valeur de TXT par clavier
  3. De calculer la taille de TXT
  4. De calculer le nombre d’occurrence du caractère « e » dans TXT
  5. Afficher TXT à l’inversed) toute la phrase à rebours, après avoir inversé l'ordre des 
    caractères dans TXT:
            voici une petite phrase !
            ! esarhp etitep enu iciov

Exercice 8.4

 

Ecrire un programme en C qui permet de :

  1. Déclarer une chaine de caractère TXT
  2. De saisir la valeur de TXT par clavier
  3. Enlever toutes les occurrence de « e » dans TXT

Exemple:

   Cette ligne contient quelques lettres e.
   Ctt lign contint qulqus lttrs .

Exercice 8.5

 

Ecrire un programme qui permet de saisir votre nom et votre prénom, puis de calculer la taille du nom sans compter les espaces (utiliser la fonction strlen) ?
Exemple:

 
   Introduisez votre nom et votre prénom:
   Ahmed Aamrani
 
   Bonjour Ahmed Amrani!
   Votre nom est composé de 12 lettres.

 

Exercice 8.6

 

Ecrire un programme qui permet de saisir par clavier deux chaines de caractère C1 et C2, puis de les comparer (déterminer celle qui précède l’autre)
Exemple:

 
   Donnez la première chaîne: ABC
   Donnez la deuxième chaîne: abc
   "ABC" précède "abc"

 

Exercice 8.7

 

Ecrire un programme qui permet de saisir par clavier deux chaines de caractère C1 et C2, puis de copier la première moitié de C1 et de C2 dans une autre chaine C3 ? utiliser deux méthodes différentes :
a) Utiliser les fonctions spéciales des chaines de caractères
b) Utiliser uniquement les fonctions gets et puts.

 

Exercice 8.8

 

Ecrire une programme qui permet de saisir un verbe en « er », puis qui afficher à l’écran sa conjugaison au présent.
Il faut bien contrôler s’il s’agit bien d’un verbe en « er » ou non.Utiliser les fonctions getsputsstrcat et strlen.
Exemple:

      Verbe : manger
      je mange
      tu mange
      il mange
      nous mangeons
      vous mangez
      ils mangent

Exercice 8.9

 

Soient les instructions suivantes:

   char STR[200];
   puts("Entrez un nombre :");
   gets(STR);
   printf("Entrée  = %s \n", STR);
   printf("integer = %d \n", atoi(STR));
   printf("long    = %ld \n", atol(STR));
   printf("double  = %f \n", atof(STR));

Donnez le résultat de ce programme si on saisir les chaines suivantes :

       a)     123
       b)         -123
       c)      - 123
       d)     123.45
       e)     12E3
       f)     1234f5
       g)     -1234567
       h)     123e-02
       i)     -0,1234

Exercice 8.10

 

On souhaite contrôler les résultats de l’exercice 3.3 vu précédemment par un programme utilisant la fonction Itoa ?

Exercice 8.11

En utilisant les fonctions strcmp et strcpy, écrire un programme qui permet de trier 10 mots saisies par clavier, afficher par la suite le tableau trié.

Exercice 8.12

 

On suppose que les jours sont codés de 1 à 7, écrire donc un programme qui permet de saisir un nombre et qui afficher le jour correspondant :

"lundi" 

pour 1 

"mardi" 

pour 2 

. . . 

. . . 

"dimanche" 

pour 7 

Exercice 8.13

 

Ecrire un programme qui permet de saisir par clavier cinq mots puis de les afficher dans l’ordre inverse.
Exemple

      voici une petite phrase !
      ! phrase petite une voici

 

Exercice 8.14

 

Refaire l'exercice 8.8 en utilisant deux tableaux de chaînes de caractères et les fonctions printfscanfstrlen:

SUJ 

pour les sujets 

TERM 

pour les terminaisons 

Exercice 8.15

 

Ecrire un programme qui permet de comparer deux mots ?

Exercice 8.16

Ecrire un programme qui permet de convertir les majuscules en minuscules dans une chaines de caractères saisie par clavier ?

Exercice 8.17

Ecrire une fonction qui interprète une chaine de caractère comme un entier positif dans la base décimale.

Exercice 8.18

Ecrire une fonction qui interprète une chaine de caractère comme un entier positif dans la base hexadécimale.

Exercice 8.19

 

Ecrire une fonction qui interprète une chaine de caractère comme un entier rationnel positif ou négatif introduit en notation décimale

Exercice 8.20

Ecrire une fonction qui interprète une chaine de caractère comme un entier rationnel positif ou négatif introduit en notation exponentielle

 

Exemples: 

-1234.234 

-1234.234000 

-1234. 234 

Erreur! 

123E+02 

123400.000000 

123E-02 

1.230000 

123.4e 

123.400000 

-12.1234e02 

-1212.340000 

123.4e3.4 

Erreur! 

12.12E1 

121.200000 

12.12 E1 

Erreur! 

 

Exercice 8.21

 

Ecrire un programme qui permet de supprimer la première occurrence d'une chaîne de caractères OBJ dans une chaîne de caractères TXT.


Exemples : 

Donnez la chaine : bon
Donnez une deuxième chaine : bonjour
Le résultat : jour

 

Exercice 8.22

 

Ecrire un programme qui permet de remplacer la première occurrence d'une chaîne de caractères C1 par la chaîne C2 dans une chaîne de caractères TXT.


Exemple :

Donnez la chaine 1 : bon

Donnez la chaine 2 : test
Donnez votre phrase : bonjour tous le monde
Le résultat est : testjour tous le monde

 

Exercice 8.23

 

Ecrire un programme qui permet de remplacer toutes les occurrences d'une chaîne de caractères C1 par la chaîne C2 dans une chaîne de caractères TXT.
Ecrire un programme qui remplace toutes les occurrences d'une chaîne de caractères CH1 par la chaîne CH2 dans une chaîne de caractères SUJ. Utiliser une chaîne de sauvegarde FIN pendant le remplacement.


Exemples: 

PHON 

OY 

ALPHONSE 

ALOYSE 

AN 

ONT 

BANANE 

BONTONTE 

T 

Y 

TOTALEMENT 

YOYALEMENY 

TTT 

HELLO 

HELLO 

L 

HELLO 

HEO 

 



Home- Exercices - Solutions des exercices
Copyright © 2019