编写一个函数实现n^k,使用递归实现
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double power(double n,double k) {
if (k < 0) {
if (k == -1) {
return (1 / n);
}
return (1 / n) * power(n, k + 1);
}
if(k == 0) {
return 0;
}
if (k > 0) {
if (k == 1) {
return n;
}
return n * power(n, k - 1);
}
}
int main() {
double n, k,result;
printf("请输入n^k对应的n和k.\n");
scanf("%lf %lf",&n,&k);
result = power(n, k);
printf("%lf的%lf次幂的值为:%lf\n", n, k, result);
result = pow(n, k);
printf("%lf的%lf次幂的值为:%lf\n", n, k, result);
system("pause");
return 0;
}