CE code c ne marche pas

Bonjour,
je veut faire un factorielle voici le code que jai mis mais il ne marche pas ,vous pouvez me le corriger svp??

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

int main()
{

int nombre=0,resultat=0;
printf("entre le nombre:\n");
scanf("%d",&nombre);
int i=0;
i=nombre-1;

while(i>0)
{
resultat=nombre*i;
--i;
printf("le factoriel de %d nombre est : %d\n",resultat);
}
}

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour,

    sans dire de bêtises tu pars dans la mauvaise directions, car il faut faire une fonction récursive, ou la fonction s'appelle elle-même. C'est comme ça que se fait la fonction factorielle.

    Cordialement.
    1. Modérateur
      Salut,

      Essaye ceci :

      resultat = resultat + nombre*i;

      Car à chaque boucle tu perds ton resultat précédent sinon...
      1. dsl mais sa marhe pas eceque je peut utiliser les pointeurs?