c++编写求x的n次方的递归函数,并在主函数中调用、输出。 函数定义必须为:float rpow(float x, int n)

#include<stdio.h>floatrpow(floatx,intn){floatt;if(n==0)t=1;if(n>0)t=x*rpow(x,n-1);els... #include<stdio.h>
float rpow(float x,int n)
{
float t;
if(n==0)
t=1;
if(n>0)
t=x*rpow(x,n-1);
else
t=(1/x)*rpow(x,n+1);
return t;
}
int main()
{ float x,t; int n;
printf("请输入x和n");
scanf("%f",&x);
scanf("%d",&n);
t=rpow(x,n);
printf("%f",t);
return 0;
}求改错!
展开
 我来答
烟花的尽头
2014-05-07 · TA获得超过645个赞
知道小有建树答主
回答量:170
采纳率:76%
帮助的人:60.8万
展开全部
是不是每次得出的结果都是1?
哈哈,因为最终n都会等于0的,那时候你令t=1,然后return t,当然返回1咯。

float rpower(float x, int n)
{
if (n == 0)
return 1;
else if (n > 0)
return x * rpower(x, n-1);
else
return 1/x * rpower(x, n+1);

}
追问
不是的。编译以后显示的是windows无法解决该项问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式