// Prog: callpow.cpp
// Define and call a function for computing powers.
#include
// PRE: e >= 0 || b != 0.0
// POST: return value is b^e
double pow (double b, int e)
{
double result = 1.0;
if (e < 0) {
// b^e = (1/b)^(-e)
b = 1.0/b;
e = -e;
}
for (int i = 0; i < e; ++i) result *= b;
return result;
}
int main()
{
std::cout << pow( 2.0, -2) << "\n"; // outputs 0.25
std::cout << pow( 1.5, 2) << "\n"; // outputs 2.25
std::cout << pow( 5.0, 1) << "\n"; // outputs 5
std::cout << pow( 3.0, 4) << "\n"; // outputs 81
std::cout << pow(-2.0, 9) << "\n"; // outputs -512
return 0;
}