Puissance en C [Résolu/Fermé]

Signaler
Messages postés
1723
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2017
-
Messages postés
1723
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2017
-
Bonjour, bonsoir,

Je souhaiterais coder (en C) un code permettant d'élever un nombre x à une puissance y. Mais je n'y arrive pas avec "pow"

Le code donne ceci:

Case 7:

double resultat7 = 0, nombre13 = 0, nombre14 = 0;


scanf ("%d", &nombre13);
scanf ("%d", &nombre14);

resultat7 = pow (nombre13, nombre14);

printf("%f", resultat7);
break;

Et j'ai essayé de remplacer le "%f" par "%"d" g ou lf mais ça ne donne rien du tout...

C'est peut-être une très bête faute, je suis débutant :)

Merci d'avance !



1 réponse

Messages postés
391
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
50
le problème est que pow prend en argument des double et non des int ...
essaye des %f dans tes scanf. (%d pour int, %f pour double )

à titre personnel, quand le besoin s'en fait sentir, je code moi même la fonction
int puissance(int a, int b);  


c'est, au passage, un bonne exercice sur les boucles pour un débutant ;-).
Messages postés
16041
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
28 septembre 2020
2 681
f pour float, lf pour double et Lf pour long double... Mais il y a aussi e,E,g,G à la place du f.
Mais j'avoue que les différences me dépasse un peu ^^
Messages postés
391
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
50
oh oui ... beaucoup de choix pour au final pas grande différence ... enfin bref, ça devrait résoudre le problème, sinon, comme dis ci-dessus, je l'encourage a créé sa propre fonction puissance, pour un débutant, c'est un exercice sympa.
Messages postés
16041
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
28 septembre 2020
2 681
Ouais, mais un débutant risque de faire des fonctions très peu efficaces d'un point de vue complexité...
Messages postés
391
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
50
sincèrement je doute fort que étant débutant, la complexité soit un point essentiel pour lui. mais dans l'absolu, tu as raison.
Messages postés
1723
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2017
163
En fait, j'avais tout essayé sauf en mettant la totale en "%lf" et je viens de le faire et tout fonctionne (j'avais le même problème avec les log, exp, racine carrée...)

Bien le merci !