实验10-4 递归实现指数函数 (15 point(s))
本题要求实现一个计算xn(n≥1)的函数。
函数接口定义:
double calc_pow( double x, int n );
函数calc_pow
应返回x
的n
次幂的值。建议用递归实现。题目保证结果在双精度范围内。
裁判测试程序样例:
#include <stdio.h>
double calc_pow( double x, int n );
int main()
{
double x;
int n;
scanf("%lf %d", &x, &n);
printf("%.0f\n", calc_pow(x, n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
2 3
结尾无空行
输出样例:
8
结尾无空行
参考答案:
double calc_pow( double x, int n )
{
double result=0;
//(1<n) ? (return x*calc_pow(x,--n)) : (return x); //三目运算符中只能放expression
(1<n) ? (result+= x*calc_pow(x,--n)) : (result+= x);
return result;
}