Manuel TP Lnaguage C (TP 0,1,2,3,4,5)
Manuel TP Lnaguage C (TP 0,1,2,3,4,5)
Manuel TP Lnaguage C (TP 0,1,2,3,4,5)
TRAVAUX
PRATIQUES
Programmation C
TP 0 : Hello world !
Exercice 1 :
Exercice 2 :
Ecrire un programme qui demande à l’utilisateur de donner le rayon d’un cercle et lui retourne
sa surface et son périmètre.
Exercice 3 :
Ecrire un programme qui saisit deux entiers a et b et permute la valeur de ces deux entiers.
Exercice 4 :
Exercice 5 :
Ecrire un programme retournant la factorielle d’un nombre entier entré par l’utilisateur.
Exercice 6 :
Ecrire un programme qui résout les équations du premier degré (ax + b = 0).
Le programme demande a et b à l’utilisateur puis indique le nombre de solutions ainsi que
leurs valeurs.
Exercice 7 :
Ecrire un programme qui résout les équations du second degré (ax2 + bx + c = 0).
Le programme demande a, b et c à l’utilisateur puis indique le nombre de solutions ainsi que
leurs valeurs.
Exercice 8 :
TP 1 : Les boucles
Exercice 9 :
Ecrivez un programme qui lit N nombres entiers au clavier et qui affiche leur somme, leur
produit et leur moyenne. Choisissez un type approprié pour les valeurs à afficher. Le nombre
N est à entrer au clavier. Résolvez ce problème
a) en utilisant while,
b) en utilisant do - while,
c) en utilisant for.
Exercice 10 :
Calculez par multiplications successives X^N de deux entiers naturels X et N entrés au clavie
Exercice 11 :
Calculez la somme des N premiers termes de la série harmonique : 1 + 1/2 + 1/3 + ... + 1/N
Exercice 12 :
Nombre de lignes : 7
*
***
*****
*******
*********
***********
*************
Exercice 13 (a rendre) :
X*Y I 0 1 2 3 4 5 6 7 8 9 10
--------------------------------------------------
0 I 0 0 0 0 0 0 0 0 0 0 0
1 I 0 1 2 3 4 5 6 7 8 9 10
2 I 0 2 4 6 8 10 12 14 16 18 20
3 I 0 3 6 9 12 15 18 21 24 27 30
4 I 0 4 8 12 16 20 24 28 32 36 40
5 I 0 5 10 15 20 25 30 35 40 45 50
6 I 0 6 12 18 24 30 36 42 48 54 60
7 I 0 7 14 21 28 35 42 49 56 63 70
8 I 0 8 16 24 32 40 48 56 64 72 80
9 I 0 9 18 27 36 45 54 63 72 81 90
10 I 0 10 20 30 40 50 60 70 80 90 100
Exercice 14 :
Ecrire un programme C qui calcule n! (factoriel) une fois avec un while puis une
seconde fois avec un for.
Exercice 15 :
Nombre de lignes : 5
*
**
***
****
*****
Exercice 16
Ecrire un programme C qui teste si un nombre est premier ou pas, puis un programme C qui
teste tous les nombres entre 1 et N
TP 2 : Les Tableaux
Exercice 17 :
Ecrire un programme dont lequel vous déclarer et initialisez un tableau puis vous affichez les
éléments du tableau
Exercice 18 :
Exercice 19 :
Ecrire un programme qui lit la taille N d'un tableau T du type int (dimension maximale: 50
vérifier la taille et demandez à l’utilisateur de saisir la taille tant que la valeur n’est pas
comprise entre 10 et 50), remplit le tableau par des valeurs entrées au clavier et l’afficher.
Exercice 20 :
Ecrire un programme qui lit la taille N d'un tableau T du type int (dimension maximale: 50
vérifier la taille et demandez à l’utilisateur de saisir la taille tant que la valeur n’est pas
comprise entre 10 et 50), remplit le tableau par des valeurs entrées au clavier et l’afficher.
Effacez ensuite les occurrences de 5 et tassez les éléments restant. Afficher le tableau
résultant
Ecrire un programme qui lit la taille N d'un tableau T du type int , remplit le tableau par des
valeurs entrées au clavier et affiche le tableau. Ranger ensuite les éléments du tableau T dans
l'ordre inverse sans utiliser de tableau d'aide. Afficher le tableau résultant.
Exercice 22 :
Ecrire un programme qui lit la taille N d'un tableau T du type int , remplit le tableau par des
valeurs entrées au clavier et affiche le tableau. Copiez ensuite toutes les composantes
strictement positives dans un deuxième tableau TP et toutes les valeurs strictement négatives
dans un troisième tableau TN. Afficher les tableaux TP et TN.
Exercice 23 :
Ecrire un programme :
Somme = 5+10+2+17+23 = 57
5 10 2 17 23
Tableau trié
2 5 10 17 23
Exercice 24 :
Ecrire un programme qui calcule le plus grand écart dans un tableau (l'écart est la valeur
absolue de la différence de deux éléments).
Exercice 25 :
Exercice 26 :
Écrire un programme qui supprime toutes les lettres « e » d’un texte puis afficher le nouveau
texte
Exercice 27 :
Exercice 28 :
Ecrire un programme qui lit un verbe régulier en "er" au clavier et qui en affiche la
conjugaison au présent de l'indicatif de ce verbe. Contrôlez s'il s'agit bien d'un verbe en "er"
avant de conjuguer. Utiliser les fonctions gets, puts, strcat et strlen
Exercice 29 :
Exercice 30 :
Ecrire un programme qui lit deux chaînes de caractères CH1 et CH2, les compare lexico-
graphiquement et affiche le résultat.
Exercice 31 :
Ecrire un programme qui lit deux chaînes de caractères CH1 et CH2 et qui copie la première
moitié de CH1 et la première moitié de CH2 dans une troisième chaîne CH3. Afficher le
résultat
Exercice 32 :
Ecrire un programme qui lit 10 mots et les mémorise dans un tableau de chaînes de caractères.
Trier les 10 mots lexico-graphiquement en utilisant les fonctions de la bibliothèque string.
Afficher le tableau trié. Utilisez la méthode de tri par sélection directe
Exercice 33 :
Ecrire un programme qui lit un nombre entre 1 et 7 et qui affiche le nom du jour de la semaine
correspondant
Ecrire un programme qui lit une chaîne de caractères CH et qui convertit toutes les majuscules
dans des minuscules et vice-versa. Le résultat sera mémorisé dans la même variable CH et
affiché après la conversion
Exercice 35 :
Ecrire un programme qui supprime la première occurrence d'une chaîne de caractères OBJ
dans une chaîne de caractères SUJ
Exercice 36 :
Ecrire un programme qui lit deux tableaux A et B et leurs dimensions N et M au clavier et qui
ajoute les éléments de B à la fin de A. Utiliser le formalisme pointeur à chaque fois que cela
est possible
Exercice 38 :
int A[] = {12, 23, 34, 45, 56, 67, 78, 89, 90};
int *P;
P = A;
*P+2
*(P+2)
&P+1
&A[4]-3
A+3
&A[7]-P
P+(*P-10)
*(P+*(P+8)-A[7])
Exercice 39 :
Ecrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine
toutes les occurrences de X dans A en tassant les éléments restants. Le programme utilisera
les pointeurs P1 et P2 pour parcourir le tableau.
Ecrire un programme qui range les éléments d'un tableau A du type int dans l'ordre inverse.
Le programme utilisera des pointeurs P1 et P2 et une variable numérique AIDE pour la
permutation des éléments
Exercice 41 :
Ecrire de deux façons différentes, un programme qui vérifie sans utiliser une fonction
de <string>, si une chaîne CH introduite au clavier est un palindrome:
Exercice 42 :
Exercice 43 :
Ecrire un programme qui lit une chaîne de caractères CH au clavier et qui compte les
occurrences des lettres de l'alphabet en ne distinguant pas les majuscules et les minuscules.
Utiliser un tableau ABC de dimension 26 pour mémoriser le résultat et un pointeur PCH pour
parcourir la chaîne CH et un pointeur PABC pour parcourir ABC. Afficher seulement le
nombre des lettres qui apparaissent au moins une fois dans le texte.
Exemple:
Ecrire un programme qui lit une matrice A de dimensions N et M au clavier et affiche les
données suivantes en utilisant le formalisme pointeur à chaque fois que cela est possible:
a) la matrice A
b) la transposée de A
Exercice 46 :
Ecrire un programme qui lit 5 mots d'une longueur maximale de 50 caractères et les mémorise
dans un tableau de chaînes de caractères TABCH. Inverser l'ordre des caractères à l'intérieur
des 5 mots à l'aide de deux pointeurs P1 et P2. Afficher les mots.
Exercice 47 :
Exercice 48 :
Ecrire la fonction SOMME_T qui calcule la somme des N éléments d'un tableau T du type int. N et T
sont fournis comme paramètres; la somme est retournée comme résultat du type long.
Exercice 49 :
Le porgramme aura en plus des fonctions de tris demandé une fonction qui va permettre de
lire un tableau et une fonction pour l’affichage du tableau et enfin un menu pour permettre à
l’utilisateur de choisir le tri voulu et le menu s’affichera tant qu’il n’a pas demander de quitter
le programme
Cet exercice devra se faire sans passer par les fonctions prédéfinis dans la bibl. String et
Stdlib. Le but ici est de dévlopper vos propres fonctions pour la manipulation des
chaines de caractère
En plus de ces fonctions il doit y avoir une fonction qui permet de lire la chaîne de caractère
et une fonction pour l’affichage de la chaine
TP 5 : LES FICHIERS
Exercice 51
Créer puis afficher à l'écran le fichier person.txt dont les informations sont structurées de la
manière suivante :
Ecrire un programme qui crée sur disquette un fichier personbis.txt qui est la copie exacte
(enregistrement par enregistrement) du fichier person.txt
Exercice 53
Créer sur disquette puis afficher à l'écran le fichier FAMILLE.TXT dont les informations sont
structurées de la manière suivante :
• Nom de famille
• Prénom du père
• Prénom de la mère
• Nombre d'enfants
• Prénoms des enfants