Programme C puissance d'un entier

Fermé
xkaiser88 Messages postés 10 Date d'inscription dimanche 21 février 2010 Statut Membre Dernière intervention 11 mars 2010 - 21 févr. 2010 à 16:32
malek_ Messages postés 1 Date d'inscription mardi 17 janvier 2017 Statut Membre Dernière intervention 17 janvier 2017 - 17 janv. 2017 à 22:54
Bonsoir,
J'ai écrit un programme en C qui calcule la puissance d'un entier. Mais à la fin de l'exécution le programme m'affiche l'entier saisi sans calculer sa puissance. Merci de me corriger le programme:

#include<stdio.h>
void main () {
int i;
int p;
int q;
int a;
printf("saisir l'entier");
scanf("%d",&a);
printf("saisir la puissance");
scanf("%d",&p);
if (p=0)
q=1;

else

q=1;
{
for (i=1; i<=p ; i++);
q=q*a;
}
printf("%d\n",q);
system ("pause");
}
A voir également:

13 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
21 févr. 2010 à 19:08
Bonsoir,
Tu peux simplifier l'algorithme.
En fait, juste besoin de mettre la variable q à 1 et d'un simple while. Même pas besoin de considérer le cas où l'exposant est nul.
Par exemple :
#include <stdio.h>

int main(void) {
    int a;
    int p;
    int q;
    printf("saisir l'entier : ");
    fflush(stdout);
    scanf("%d",&a);

    printf("saisir la puissance : ");
    fflush(stdout);
    scanf("%d",&p);

    q=1;
    while(p--)
        q*=a;

    printf("%d\n",res);
    return 0;
}

Si tu as des questions sur le reste du code, n'hésite pas.
Cdlt,
12
malek_ Messages postés 1 Date d'inscription mardi 17 janvier 2017 Statut Membre Dernière intervention 17 janvier 2017 1
17 janv. 2017 à 22:54
#include<stdio.h>
#include<math.h>
int puiss (int x,int y )
{
int q ; int i=0;
if(y==0)
q=1;
else
{
q=1;
while (i<y)
{
q=q*x;
i++;
}
}
return q;
}
int main()
{
int a;
int p; int waw;
printf("****Bonjour malek****");
printf("comment cv pas !");



printf("\n saisir l'entier x :\n ");
scanf("%d",&a);
printf("\n saisir la puissance p : \n ");
scanf("%d",&p);
/*calcule de puissance*/
waw=puiss(a,p);
printf("\n la puissance de %d ** %d est : %d \n",&a,&p,waw);
return 0;
getch();


}
1