Ad esempio vi scrivo un questito che non riesco a svolgere:
Scrivete una funzione integerPower (base, exponent) che restituisca il valore
base elavato all'esponente
Per esempio, integerPower (3, 4)= 3*3*3*3. Supponete che exponent sia un intero positivo diverso da zero e che base sia un intero. La funzione integerPower dovrà utilizzare for per controllare il calcolo. Non utilizzate nessuna funzione della libreria matematica.
Questo è un problema del libro dei Deitel che si trova nel 5° capitolo, sotto riporto i sorgente che ho creato, ma che dà risultati errati, mi restituisce un numero elevato alla doppia potenza e non alla singola potenza dell'esponente da me inserito:
#include <stdio.h>
int integerPower (int base, int exponent);
int main ()
{
int x,y;
printf ("Digitare il valore della base e dell'esponenete della potenza:");
scanf ("%d%d", &x,&y);
printf ("il risultato Ë %d", integerPower(x,y));
return 0;
}
int integerPower (int base, int exponent)
{
for (exponent > 0 ; exponent --;)
base*=base;
return base;
}
Grazie dell'eventuale aiuto.