用递归写了个求x 的n次幂的函数,结果错了,求指教
代码如下,运行结果老是出错求指教#include<iostream>
int main()
{
using namespace std;
//求x 的n次幂
double x,n,y;
y = 1;
int z = 0;
double xn(double x,double n,double y,int z);
cout<<"请输入 x 和 n : ";
cin >> x >> n;
cout << endl
<< "x 的 n 次幂为 :"
<< xn(x,n,y,z);
}
double xn (double x,double n,double y,int z)
{
if ( z = 0 ) //定义了z 在第一轮判断 n >0 or n ==0 or n < 0
{
z = 1;
if ( n > 0 )
xn (x,n,y,z);
if ( n == 0 )
if ( x == 0 ) return 0;
else return 1;
if ( n < 0 )
{ n = -n;
xn (1/x,n,y,z);
}
}
else
{
y *= x;
if ( --n > 0 )
xn(x,n,y,z);
else return y;
}
}