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

c++编写求x的n次方的递归函数,并在主函数中调用、输出。函数定义必须为:floatrpow(floatx,intn)#include<stdio.h>floatrpow... c++编写求x的n次方的递归函数,并在主函数中调用、输出。 函数定义必须为:float rpow(float x, int n)
#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;
}求改错!
展开
 我来答
ahcc08
推荐于2016-08-21 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51941
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
#include<stdio.h>
float rpow(float x,int n)
{
    // 这里初始化下
    float t = 0;
    // 如果等于0,则返回1
    if (n==0)
    {
        return 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;
}

结果如下:

更多追问追答
追问
为什么需要这样初始化呢
追答
C/C++变量在定义的时候,默认值是随机的,所以要初始化。和JAVA不同,在JAVA里,变量都是有默认值的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式