Vous êtes sur la page 1sur 2

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université Alger 1 –Benyoucef Benkhedda



Faculté des science - Département Sciences de la Matière -

Module : Informatique 2 ( Langage C) Filière : SM-S2
Correction série TP N°05

Exercice 1
1. Écrire une fonction « NbrChiffre » qui renvoie le nombre de chiffre d’un nombre entier
strictement positif passé comme paramètre.
2. Ecrire le programme qui demande à l’utilisateur un entier strictement positif puis affiche le nombre
de ses chiffres.

int NbrChiffre (int num)


{
int Cpt =0;
while (num != 0)
{
Cpt ++;
num= num/10;
}
return Cpt;
}

void main()
{
int A;
printf("Introduire un nombre entier strictement positif:");
scanf("%d",&A);
printf("Le nombre %d comporte % d de chiffres\n",A, NbrChiffre (A) );
}

Exercice 2
1. Ecrire une fonction FMax qui permet de retourner le maximum de deux entiers passés en
paramètre à la fonction.
2. Ecrire une fonction FMin qui permet de retourner le minimum de deux entiers passés en paramètre
à la fonction.
3. Ecrire un programme se servant des deux fonctions FMax et FMin pour afficher le maximum et le
minimum de quatre entiers saisies au clavier.

#include <stdio.h>
int FMax (int, int) ; /*prototype de la fonction FMax*/
int FMin (int, int) ; /*prototype de la fonction FMin */
int main ()
{
int a,b,c,d,max, min ;
printf("donnez quatre entiers \n");
scanf("%d %d %d %d ", &a, &b, &c, &d,);
max = FMax (FMax(a, b) , FMax(c, d)) ;
min = FMin (FMin(a, b) , FMin(c,d)) ;
printf("le maximum des entiers introduits est %d \n", max);
printf("le minimum des entiers introduits est %d \n", min);



Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université Alger 1 –Benyoucef Benkhedda

Faculté des science - Département Sciences de la Matière -

return 0 ;
}

int FMax (int x, int y)


{
if (x>y) return x
else return y ;
}
int FMin (int m, int n)
{
if (m<n) return m
else return n ;
}

Exercice 3
1. Ecrire une fonction qui permet d'échanger les valeurs de deux variables a et b passées en paramètre
à la fonction Echange.
2. Quel est le type de passage de variables utilisé par la fonction Echange. Et pourquoi ?
3. Ecrire et tester cette fonction dans un programme.

Le type de passage de variables utilisé par la fonction Echange est un passage par adresse car la fonction
modifie la valeur des deux variables a et b à la fois.

void Echange (int *p1, int*p2)


{
int temp;
temp =*p1;
*p1=*p2 ;
*p2= temp ;
}

int main ()
{
int a, b ;
printf("donnez a \n");
scanf("%d ", & a);
printf("donnez b \n");
scanf("%d ", & b);
Echange (&a,&b) ;
printf("les nouvelles valeurs de a = %d et b=%d \n", a, b);
return 0 ;
}

Vous aimerez peut-être aussi