编写一个求x的y次方的函数
怎么在不调用软件自带数学函数的情况下,编写程序求x的y次方在网上看了好多例子都是直接调用软件自带函数解决的
程序代码:double your_pow( double x, int y )
{
if( x==0 && y==0 )
return 定义域错误;
if( x==0 && y<0 )
return 定义域错误 或 极点错误;
if( x==0 && y>0 )
return 0;
unsigned y的绝对值 = (unsigned)(y<0 ? -y : +y); // 必须换成unsigned类型,因为 -INT_MIN 依然是小于0的数
double result = 1;
for( unsigned i=0; i!=y的绝对值; ++i ) // 没用“快速幂”,免得还要解释
result *= x;
if( y < 0 )
result = 1.0/result;
return result;
}