函数题:求实数的整数次幂(递归版)
请编写函数,求任意实数的任意整数次幂。
#### 函数原型
c
double Power(double x, int n);
说明:参数 x 为底数,n 为指数。若参数正确,则函数值为 x 的 n 次幂。若参数不正确,则报告错误:“不正确的参数!”,函数值为 0。
提示:
- $$x^8 = x^7 \cdot x$$
- $$x^{-8} = x^{-7} / x$$
- $$0^0$$ 和 $$0^{-2}$$ 无意义
#### 裁判程序
c
#include <stdio.h>
double Power(double x, int n);
int main()
{
double x;
int n;
scanf("%lg%d", &x, &n);
printf("%.10g\n", Power(x, n));
return 0;
}
/* 你提交的代码将被嵌在这里 */
要求:不要调用 pow 等函数,不要使用循环语句。用递归方法完成函数的设计。
#### 输入样例1
in
0 -2
#### 输出样例1
out
不正确的参数!
0
#### 输入样例2
in
0 5
#### 输出样例2
out
0
#### 输入样例3
in
-5.4 5
#### 输出样例3
out
-4591.65024
#### 输入样例4
in
2.53 -326
#### 输出样例4
out
3.825692827e-132
答案:若无答案欢迎评论
#### 函数原型
c
double Power(double x, int n);
说明:参数 x 为底数,n 为指数。若参数正确,则函数值为 x 的 n 次幂。若参数不正确,则报告错误:“不正确的参数!”,函数值为 0。
提示:
- $$x^8 = x^7 \cdot x$$
- $$x^{-8} = x^{-7} / x$$
- $$0^0$$ 和 $$0^{-2}$$ 无意义
#### 裁判程序
c
#include <stdio.h>
double Power(double x, int n);
int main()
{
double x;
int n;
scanf("%lg%d", &x, &n);
printf("%.10g\n", Power(x, n));
return 0;
}
/* 你提交的代码将被嵌在这里 */
要求:不要调用 pow 等函数,不要使用循环语句。用递归方法完成函数的设计。
#### 输入样例1
in
0 -2
#### 输出样例1
out
不正确的参数!
0
#### 输入样例2
in
0 5
#### 输出样例2
out
0
#### 输入样例3
in
-5.4 5
#### 输出样例3
out
-4591.65024
#### 输入样例4
in
2.53 -326
#### 输出样例4
out
3.825692827e-132
答案:若无答案欢迎评论