读书人

函数power()求负数次幂,该如何解决

发布时间: 2013-06-25 23:45:41 作者: rapoo

函数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;
}

读书人网 >C语言

热点推荐