#include<stdio.h>
double power(double n,int p);
int main(void)
{
double x,xpow;
int exp;
printf("Enter a number and the postive integer power");
printf(" to which\nthe number will be raised.Enter q ");
printf("to quit.\n");
while(scanf("%lf%d",&x,&exp)==2)
{
xpow =power(x,exp);
printf("%.3g to the power %d is %.5g\n",x,exp,xpow);
printf("quit\n");
}
printf("Hope you enjoyed y=this poer trip--bye!\n");
return 0;
}
double power(double n,int p)
{
double pow=1;
int i;
if(p == 0)
return 1;
else
{
if(n==0)
return 0;
else if(n == 1)
return 1;
else if(p>0)
pow=n*power(n,p-1);
else if(p<0)
pow=1.0/power(n,-p);//让分母做正次幂运算即可
}
return pow;
}