我尝试使用递归函数来创建我的幂function.The问题被给出为:“写一个幂函数,它可以与一个基(自然)和一个幂(整数)一起工作”。但是当用户“给我”负能量时就有麻烦了。请找出错误。不需要所有的printf函数(除了main中的printf函数)。
#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);
}
}发布于 2021-02-17 02:50:25
尝试否定这一点:
if (power<0)
{
return 1/Power(-power, base);
}https://stackoverflow.com/questions/66230284
复制相似问题