大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
两个错误:1、按算法n小于0时,y=1/(fun(x,n+1)*x);
安陆ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!
2、第二个条件应该为else if(n==0)如果是n=0,则成赋值表达式,该表达式为0即假,因此陷入死循环。
#includestdio.h
int power(int x,int n)
{
if(n==0)
return 1;
elseif(n%2==1)
return x*power(x,n-1);
else{
int y=power(x,n/2);
return y*y;
}
}
int main()
{
int a,b,c;
printf("enter x and n:");
setvbuf(stdout,NULL,_IONBF,0);
scanf("%d%d",a,b);
c=power(a,b);
printf("结果为%d",c);
return 0;
}
扩展资料
#includestdio.h
double power(double x,int n);
main()
{
double x;
int n;
printf("Input x,n:");
scanf("%lf,%d",x,n);
printf("%.2lf",power(x,n));
}
double power(double x,int n)
{
double a=1.0;
int i;
for(i=1;i=n;i++)
a*=x;
return a;
}
参考资料:百度百科 - 递归调用
#include "stdio.h"
#include "math.h"
main()
{
int a, b;
long power(), t;
printf("输入两个整数:");
scanf("%d, %d", a, b);
t = power(a, b);
printf("%d ^ %d = %1d", a, b, t);
}
long power(x ,n)
int x, n;
{
long y;
if(n0)
y = x * power(x, n-1);
else y = 1;
return y;
}
#include"stdio.h"
int power(int x,int n);
main(){
int r,i,n;
scanf("%d",n);
for(i=1;i6;i++) {
r= power(i,n);
printf("%d\n",r);
}
}
int power(int x,int n){
if(n==0)
return x;//注意这里是x不是1
else return x*power(x,n-1);
}