#include<stdio.h>
#include<stdlib.h>
double power( double n, int p);
// ANSI 函数 原型
int main(void)
{
double x, xpow;
int exp;
printf(" Enter a number and the positive integer power");
printf(" to which\nthe number will be raised. Enter q 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(" Enter next pair of numbers or q to quit.\n");
}
printf(" Hope you enjoyed this power trip --bye!\n");
system("pause");
return 0;
}
double power( double n, int p) // 函数 定义
{
double pow = 1; //使用1.0接受计算次幂的总数,且党幂为0时,直接返回1.
if(p > 0)
{
pow *= n * power(n, p - 1);
}
else if( p < 0)
{
pow *= (1.0 / n) * power(n, p + 1);
}
else if( n == 0)
{
pow = 0;
}
return pow;
}