C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言,不要c++的。 提示
C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言,不要c++的。提示:例如3∧4=81→①3∧4=3*3∧3,②3∧3=3*3∧2,3∧2=3*3∧1,...
C语言题.用递归法写一个求幂的函数,并在主函数实现调用.要用c语言,不要c++的。 提示:例如3∧4=81→①3∧4=3*3∧3,②3∧3=3*3∧2,3∧2=3*3∧1,3∧1=3*3∧0。(当指数等于0时结果为1)。 int power(int x,int n) { }
展开
4个回答
展开全部
/*x^n的值必须小于32767,否则输出的就是负数。因为,int只有这么大,正常的pow函数应该是float型或是double型,参数也应是float或是double型。*/
#include <stdio.h>
int power(int x,int n)
{
if (n>1)
{
return x*power(x,n-1);
}
else
{
if (n>0)
return x;
else
return 1;
}
}
void main()
{
int x,n;
printf("input x,n:");
scanf("%d%d",&x,&n);
printf("%d",power(x,n));
getch();
clrscr();
}
展开全部
int power(int x , int n)
{
If(n==0)return 1;
Return x*power(x, n-1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main()
{
int pow(int,int);
int a,b;
scanf("%d%d",&a,&b);
printf("%d",pow(a,b));
return 0;
}
//以下是求幂的函数
int pow(int a,int b)
{
if(b==0)
return 1;
else
return a*pow(a,b-1);
}
int main()
{
int pow(int,int);
int a,b;
scanf("%d%d",&a,&b);
printf("%d",pow(a,b));
return 0;
}
//以下是求幂的函数
int pow(int a,int b)
{
if(b==0)
return 1;
else
return a*pow(a,b-1);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(n==0) return 1;
else
x*power(x,n-1);
else
x*power(x,n-1);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询