TP_1
TP_1
TP_1
Programmation C
Année universitaire : 2024/2025
Exercice 1 :
En utilisant la récursivité, écrivez une fonction qui calcule la somme des chiffres d'un nombre
entier strictement positif et recommence le calcul avec le résultat obtenu tant que celui-ci n'est
pas compris entre 1 et 9. La fonction retournera le nombre entre 1 et 9 obtenu.
Prototype de la fonction : int somme (int n) ;
Exercice 2 :
Écrivez une fonction récursive qui compte le nombre d’occurrences d’un caractère c dans une
chaîne s. Écrivez un programme de test.
Prototype de la fonction : int compte (char c, char * s) ;
Exercice 3 :
Écrivez une fonction qui prend en argument une chaîne de caractères, la transforme en
majuscules ("test"→"TEST"). On laissera inchangés les caractères non lettre. On suppose que
la chaîne sans caractères accentués ou cédillés.
L’écart entre majuscules et minuscules en ASCII est de 32 ((20)hexa). (’a’-’A’=32).
Prototype de la fonction : void majuscule (char *s);
Exercice 4 :
Ecrire une fonction qui reçoit comme paramètre une liste d'entiers dans un tableau d'entiers et
parcourt cette liste en comptant les répétitions des valeurs. La fonction retournera un tableau à
deux colonnes dont la première contient les valeurs distincts de la liste et la seconde leur nombre
de répétitions.
Prototype de la fonction : int ** occurrences(int * Tab, int n) ;
Utiliser une fonction supplémentaire pour récupérer le nombre des valeurs distincts dans le
tableau initial : int val_dis (int * tab, int n) ;