编写一个求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; }