首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >递归函数的一些问题

递归函数的一些问题
EN

Stack Overflow用户
提问于 2021-02-17 02:40:28
回答 1查看 69关注 0票数 2

我尝试使用递归函数来创建我的幂function.The问题被给出为:“写一个幂函数,它可以与一个基(自然)和一个幂(整数)一起工作”。但是当用户“给我”负能量时就有麻烦了。请找出错误。不需要所有的printf函数(除了main中的printf函数)。

代码语言:javascript
复制
#include <stdio.h>

int Power(int power, float base)
{
    printf("%f\n", base);
    printf("POWER%d\n", power);
    if (power == 0)
    {
        return 1;
    }
    else
    {
        if (power < 0)
        {
            return Power(power *= -1, 1 / base);
        }
        else
        {
            if (power == 1)
            {
                printf("%f\n", base);
                // printf("POWER%d\n",power);
                return base;
            }
            else
            { //printf("%f\n",base);
                //printf("POWER%d\n",power);
                return base * Power(power - 1, base);
            }
        }
    }
}
int main()
{
    int a; //power
    printf("Enter a power: ");
    scanf("%d", &a);
    printf("Enter a base: ");
    float b; //base
    scanf("%f", &b);
    if (b == 0)
        printf("0");
    else
    {
        float y = Power(a, b);
        printf("%f", y);
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-02-17 02:50:25

尝试否定这一点:

代码语言:javascript
复制
if (power<0)
        {
            return 1/Power(-power, base);
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66230284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档