实现函数Power(double base,int exponent),求base的exponent次方
#include<iostream>
using namespace std;
double PowWithExponent(double base,unsigned int exponent)
{
double result=1.0;
for(int i=0;i<exponent;i++)
result*=base;
return result;
}
bool InvalidInput=false;
bool equal(double num1,double num2)
{
if((num1-num2>-0.0000001)&&(num1-num2<0.0000001))
return true;
else
return false;
}
double Pow(double base,int exponent)
{
InvalidInput=false;
if (equal(base,0.0)&&exponent<0)
{
InvalidInput=true;
return 0;
}
unsigned int absExponent=(unsigned int)exponent;
if(absExponent<0)
absExponent=(unsigned int)(-exponent);//若指数为负,先对指数取绝对值再取倒数
double result=PowWithExponent(base,absExponent);
if(exponent<0)
result=1.0/result;//对结果求倒
return result;
}
int main()
{
double ret=PowWithExponent(2,10);
cout<<ret<<endl;
system("pause");
return 0;
}