Calculer la factorielle d'un nombre en C
Bonjour,
Je débute dans le C, et je viens de faire un programme qui permet de calculer la factorielle d'un nombre en C.
Le résultat qu'il m'affiche est toujours : "La factorielle de -1 est 0", et je faire ce programme avec une boucle for et while.
Mais je ne suis parvenu qu'à celà et ça ne fonctionne pas très bien.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main () {
int nb, factorielle;
nb = 0;
factorielle = 0;
puts("ENTRER UN NOMBRE");
scanf("%d", &nb);
if (nb != 0)
{
factorielle = nb;
do {
nb = nb - 1;
factorielle = factorielle * nb;
}
while (nb > 1);
}
else
{
factorielle = 0;
}
printf("La factorielle de %d est : %d", nb, factorielle);
getch();
} |
J'espère que vous pourrez m'aider.
Merci d'avance.