Exercice langage C corrigé les fonctions qui renvoient ou affichent un résultat

#include
#include
/? Ecriture et utilisation de fonctions?/
/? prototypes de fonctions?/
int somme (int x,int y); /? renvoie la somme de 2 ´el´ements?/
int fact (int n); /? n!?/
void a?che fact(int n); /? a?chage de n!?/
int comb (int n , int p); /? renvoie le nombre de combinaisons de p elements parmi n?/
int estDivisible(int a, int b) ; /? renvoie 1 si a est divisible par b?/
int estPremier(int n) ; /? renvoie 1 si a est premier?/
/?fonction principale)?/
int main ()
{ int n,p,r;
/? lectures de n et p?/
printf(”entrez un entier\n”);
scanf(”%d”, &n);
printf(”entrez un entier inf´erieur au precedent\n”);
scanf(”%d”, &p);
/? a?chage de la somme de n et p sans la ranger dans une variable?/
printf (”la somme de %d et %d est %d\n”, n,p,somme(n,p));
/? calcul de la somme de n et p rangement dans r et a?chage?/

r=somme(n,p);
printf (”la somme de %d et %d est toujours %d\n”, n,p,r);
/? a?chage de fact(n) en utilisant la fonction d’a?chage ?/
a?che fact (n);
/?a?chage de fact(n) en appellant fact(n) et en rangeant le r´esultat ?/
r=fact(n);
printf (”la factorielle de %d est %d\n”, n ,r);
/? a?chage du nombre de combinaisons de p objets parmi n?/
printf( ”le nombre de fa¸cons de prendre %d valeurs (non ordonn´ees) parmi %d\n”, p,n);
printf (”est %d\n”, comb(n,p));
/? le nombre de combinaisons de p objets parmi n est il premier ??/
if (estPremier( comb(n,p) ) )
printf(”ce nombre est premier\n”);
else
printf(”ce nombre n’est pas premier\n”);
return EXIT SUCCESS;
}/?d´e?nitions des fonctions)?/
int somme (int x,int y)
{ return x + y;
}
int fact (int n)
{ int i, res = 1;
for (i = 1; i<=n; i = i + 1)
res = res?i;
return res;
}
void a?che fact(int n)
{ int i, res = 1;
for (i = 1; i<=n; i = i + 1)
res = res?i;
printf (” %d != %d\n”,n, res);
return ;
}
int comb (int n , int p)
{ return ( fact(n) / ( (fact(p)? fact(n?p)) ) );
}

int estDivisible(int a, int b)
{ if (a%b == 0)
return 1;
else
return 0;
}
int estPremier(int n)
{ int i;
for ( i =2; i< n?1; i = i + 1)
if (estDivisible(n,i))
return 0;
return 1;
}//entrez un entier inf´erieur au precedent
//4
//la somme de 5 et 4 est 9
//la somme de 5 et 4 est toujours 9
// 5 != 120
//la factorielle de 5 est 120
//le nombre de fa¸cons de prendre 4 valeurs (non ordonn´ees) parmi 5
//est 5
//ce nombre est premier
//
//td5.2 ex1 2 3 has exited with status 0.

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *