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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.