Puissance en C [Résolu/Fermé]

Messages postés
1780
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2017
- - Dernière réponse : Sewell
Messages postés
1780
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2017
- 23 sept. 2011 à 18:45
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 !



Afficher la suite 

1 réponse

Messages postés
393
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
48
0
Merci
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 ;-).
KX
Messages postés
16029
Date d'inscription
samedi 31 mai 2008
Statut
Non membre
Dernière intervention
23 septembre 2019
2415 -
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 ^^
periplasme
Messages postés
393
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
48 -
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.
KX
Messages postés
16029
Date d'inscription
samedi 31 mai 2008
Statut
Non membre
Dernière intervention
23 septembre 2019
2415 -
Ouais, mais un débutant risque de faire des fonctions très peu efficaces d'un point de vue complexité...
periplasme
Messages postés
393
Date d'inscription
vendredi 22 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
48 -
sincèrement je doute fort que étant débutant, la complexité soit un point essentiel pour lui. mais dans l'absolu, tu as raison.
Sewell
Messages postés
1780
Date d'inscription
mardi 15 décembre 2009
Statut
Membre
Dernière intervention
30 décembre 2017
146 -
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 !