Besoin d'aide pour la correction d'un exercice

Par Lebel Di Noblesse, il y a 8 ans


Les bases Algorithmique

Bonjour,

Voila je rencontre un petit problème avec mon code. J'ai du mal avec les boucles aux factorielles. Pouvez-vous m'aidez a traiter corriger ca ? Merci d'avance !

Écrire un programme C qui demande un entier naturel N, et qui calcule sa factorielle en respectant que 0!=1. NB : la factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 a) Utiliser while, b) Utiliser for. B) For #include <math.h> #include <stdio.h> #include <stdlib.h> int main () { int nbre, i, résultat ; printf ("Veuillez saisir un nombre :/n") scanf ("%, &nbre ); resultat = i ; for ( i= 8; i<=nbre ; i++) ; { resultat = resultat * i ; } printf ( " La factorielle de %d est %/n", nbre , resultat ) ; } A) While #include <math.h> #include <stdio.h> #include <stdlib.h> int main () { int nbre, i, résultat ; printf ("Veuillez saisir un nombre :/n") scanf ("%, &nbre ); resultat = i ; while ( i= 8; i<=nbre ; i++) ; { resultat = resultat * i ; } printf ( " La factorielle de %d est %/n", nbre , resultat ) ; }

1 réponse

Balsakup, il y a 8 ans

Salut,

Je sais pas si tu as copié / collé ton code depuis ton éditeur, mais il y a plein d'erreurs.

Pour transformer un for en while, suffit pas de remplacer le mot ;)
while ( i= 8; i<=nbre ; i++) => CA NE FONCTIONNERA JAMAIS

Si ton prof demance cet exercice c'est qu'il a plus à faire qu'un simple changement de mot.

cadeau

#include <stdio.h> int main() { int i, nbr, res; printf("Veuillez saisir un nombre:\n"); scanf("%d", &nbr); res = 1; for (i = 2; i <= nbr; i++) { res *= i; } printf("La factorielle de %d et %d\n", nbr, res); } #include <stdio.h> int main() { int i, nbr, res; printf("Veuillez saisir un nombre:\n"); scanf("%d", &nbr); res = 1; i = 2; while (i <= nbr) { res *= i; i++; } printf("La factorielle de %d et %d\n", nbr, res); }