What am i missing for negative power?
Code:
//power.c--raises numbers to integer powers
#include<stdio.h>
double recursion(double n,int p);
int main(void){
double x,xpow;
int exp;
printf("Enter a number and the positive integer power");
printf("to which\n the number will be raised.Enter q");
printf("to quit.\n");
while(scanf("%lf%d",&x,&exp)==2){
xpow=recursion(x,exp);
printf("%.3g to the power %d is %.5g\n",x,exp,xpow);
printf("Enter next pair of numbers or q to quit.\n");
}
printf("Hope you enjoyed this power trip--bye!\n");
return 0;
}
double recursion(double n,int p){
if(p==0)
return 1;
elseif(n==0)
return 0;
elseif (n>0)
{
return(n*recursion(n,p-1));
}
else
{
return(1/n)*(recursion(n,p+1));
}
}