#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
double my_pow(const double number, int n)
{
assert(number);
if (n > 0)
{
return number*my_pow(number, n - 1);
}
else if (n < 0)
{
return (1 / number)*my_pow(number, n + 1);
}
else
return 1;
}
int main()
{
double n = 0.0;
int k = 0;
printf("请输入n^k:\nn = ");
scanf("%lf", &n);
printf("k = ");
scanf("%d", &k);
printf("%lf^%d的结果为%lf\n", n, k, my_pow(n, k));
system("pause");
return 0;
}