Exercice langage C application des structures répétitive 3

Exercice 6.4

 

Calculez la factorielle N! = 123...(N-1)N d'un entier naturel N en respectant que 0!=1.

a) Utilisez while,

b) Utilisez for.


 

 

Solution combinée :

(Essayez l'une ou l'autre des solutions en déplaçant les marques des commentaires !)



 

#include <stdio.h>
main()
{
int N; /* La donnée */
int I; /* Le compteur */
double FACT; /* La factorielle N! - Type double à */
/* cause de la grandeur du résultat. */

do
{
printf("Entrez un entier naturel : ");
scanf("%d", &N);
}
while (N<0);

/* a */
/* Pour N=0, le résultat sera automatiquement 0!=1 */
I=1;
FACT=1;
while (I<=N)
{
FACT*=I;
I++;
}

/* b */
/* Pour N=0, le résultat sera automatiquement 0!=1 */
/*
for (FACT=1.0, I=1 ; I<=N ; I++)
FACT*=I;
*/

printf ("%d! = %.0f\n", N, FACT);
return 0;
}