C语言用递归函数求X c语言用递归函数求1到100的和

用C语言便写一个计算f(x)=x的递归程序

函数具备递归性质,才能写出递归程序,很明显f(x)=x不成,比如阶乘就可以

创新互联建站专注于沧州企业网站建设,成都响应式网站建设公司,成都做商城网站。沧州网站建设公司,为沧州等地区提供建站服务。全流程按需开发,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

f(x)=1*2*3*...*x

可以具备递归定义:

/

1(x=0,1)

f(x)=|

x

*

f(x-1)

(x1)

x为正整数

则程序如下:

int

fact(int

x){

if(x==0||x==1)return

1;

else

return

x*fact(x-1);

}

c语言递归法求x的n次

#include stdio.h

int power(int x, int p)

{

if (p == 0)

return 1;

else

return (x * power(x, p-1);

}

int main(void)

{

int x, p;

scanf("%d%d", x, p);

printf("%d\n", power(x, p));

}

c语言 递归法求 !x。纠错?

if(a==1)a=1;

这句改成

if(a==1) return 1;

就OK了哦。。。你试试吧。。。

比如输入4

结果是24

希望能帮到你。。。

C语言 用递归方法求X的n次方

#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;

}

参考资料:百度百科 - 递归调用


文章名称:C语言用递归函数求X c语言用递归函数求1到100的和
链接分享:http://hbruida.cn/article/dogcoie.html