问题描述:实现一个函数double power(double base,int exponent),不得使用库函数。不需要考虑大数问题.
思路:利用循环之间解,本题的难点在于需要考虑的全面,比如输入的指数是否为正数。负数的负指数幂求解。
//实现一个函数double power(double base,int exponent),不得使用库函数。不需要考虑大数问题
#include<stdio.h>
double pow(double base,int exponent)
{
int i;
double result=1;
if(exponent<0)//指数小于0的情况
{
exponent=exponent/-1;
for(i=0;i<exponent;i++)
{
result=base*result;
}
result=1/result;
}
else//指数大于0
{
for(i=0;i<exponent;i++)
{
result=base*result;
}
}
return result;
}
int main()
{
double n=pow(2,-3);//求2^3
printf("%f\n",n);
return 0;
}