函数power()求负数次幂,该如何解决
函数power()求负数次幂
------解决方案--------------------
函数power()返回一个double类型的次幂,真心觉的写的太烂,感觉正负数次幂可以放在一个for()循环里面,想不出来,求指点。谢谢。
double power(int n, int m)
{
double ans;
int i;
int flag;
if(n == 0)
return 0;
else if(m == 0)
return 1;
else if(m < 0)
{
m = -m;
ans = 1;
for(i = 1; i <= m; i++)
ans *= 1 / n;
}
else if(m > 0)
{
ans = 1;
for(i = 1; i <= m; i++)
ans *= n;
}
return ans;
}
------解决方案--------------------
double power(int n, int m)
{
double ans;
int i;
int flag;
if(n == 0)
return 0;
else if(m == 0)
return 1;
else if(m < 0)
{
return 1.0 / power(n, -m);
}
else if(m > 0)
{
ans = 1;
for(i = 1; i <= m; i++)
ans *= n;
}
return ans;
}