首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2013-06-25 
函数power()求负数次幂函数power()返回一个double类型的次幂,真心觉的写的太烂,感觉正负数次幂可以放在一

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

热点排行