Sunteți pe pagina 1din 1

Université mohammed V- Agdal 2010/2011

Faculté des sciences Département d’Informatique


Langage C
Série de TP N°4 (Fonctions & Chaînes de caractères)
Exercice 1 (Décomposition d’un entier en facteurs premiers)
a. Ecrire une fonction int premier (long n) qui retourne la valeur 1 si n est premier, 0
sinon.
b. Ecrire une fonction void decompose(long facteur[ ], long n, int *taille) qui construit le
tableau des facteurs premiers de l’entier n, *taille est la taille de ce tableau (Utiliser la
fonction premier ).
c. Ecrire un programme C qui fait appel à la fonction decompose.
Exercice 2
Ecrire une fonction récursive qui calcule l’exponentiation binaire.
Exponentiation binaire : soit a une valeur (entière ou réelle) à élever à la puissance
entière p≥0.
Si p est paire ap = (a²)p/2. Sinon ap = a * ap-1. a0 = 1
L’entête de la fonction à définir est : double Exponentiation_binaire(double a , short p).
Ecrire un programme C qui fait appel à cette fonction.
Exercice 3
Ecrire un programme qui lit une ligne de texte (chaine de caractères ne dépassant pas
80 caractères) la mémorise dans une variable TXT et affiche ensuite:
a) la longueur L de la chaîne.
b) le nombre de 'e' contenus dans le texte (utiliser la fonction strchr ).
c) toute la phrase à rebours (dans le sens inverse), sans changer le contenu de la
variable TXT.
d) la ligne de texte après avoir supprimé toutes les lettres e de la variable TXT.
Exercice 4 ( Extrait du CR version 2007/ 2008) :

Ecrire une fonction, nommée Supprime_repetition, qui supprime d’une chaîne de


caractères les répétitions de caractères identiques consécutifs. La fonction remplacera
une suite de plusieurs caractères identiques par un seul de ces caractères. La fonction
ne doit pas créer une nouvelle chaîne de caractères mais modifier la chaîne qui lui est
transmise comme paramètre. La fonction retourne la longueur de la nouvelle chaîne.
Exemple : La fonction devra transformer la chaîne "aaabbccccdee" en la chaîne
"abcde" et retourner 5.
Ecrire un programme C qui lit depuis le clavier une chaine str, fait appel à la fonction
Supprime_repetition puis affiche la chaine str et sa longueur.

S-ar putea să vă placă și