c语言递归函数大题 c语言递归函数详解

C语言编写程序题:求n!的递归函数,要求用MAIN()函数输入n值。

#includestdio.h

10年积累的成都做网站、网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有铁东免费网站建设让你可以放心的选择与我们合作。

int fac(int n)

{if(n==0||n==1)return 1;

return n*fac(n-1);

}

int main()

{int n;

scanf("%d",n);

printf("%d\n",fac(n));

return 0;

}

C语言递归函数题

这个是递归函数:

recursion(int x,int y)

{

if(y-1 == x)return x;

else return x+recursion(x+1);

}

使用的时候用另个函数调用。

一道C语言的题目,递归法

#include

#include

/*求n的

阶乘

,递归,

分母

部分

*

结束条件为:1的阶乘=1

*

递归时,一定要有结束条件

*/

int

factorial

(n)

{

if(n==1)

//递归结束条件,1的阶乘为1

return

1;

else

return

n*factorial(n-1);

//n的阶乘为n乘以(n-1)!

}

int

main()

{

int

n,x;

size_t

i;

//i为

无符号整数

double

re=0;

printf("input

n

and

x:");

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

//输入n和x的值

for(i=1;i=2*n-1;i+=2)

{

/*pow函数求的是x的i次方,分母为

i的

阶乘。本部分可以优化,因为i的阶乘算出来了,所以i+2的阶乘就是i的阶乘*(i+1)*(i+2),不用重复来计算阶乘。自己可以试试*/

re

+=

pow(x,i)/factorial(i);

}

printf("\nn=%d\tx=%d\tresult=%f\n",n,x,re);//打印出

最后的结果

return

0;

}

C语言求一些关于递归的练习题

1、编写递归函数求 1+2+3+……+n 的和;

2、编写递归函数求 2*4*6*……*(2n) 的积;

3、编写递归函数求 n 的阶乘;

4、汉诺塔问题;

实际上很多问题都可以通过递归来实现,但是看到你的情况估计较难的你实现不了,所以给你几个简单的练习一下,这样可以增强对递归的理解,等理解的较为深入后再做稍微难一些的。


网页标题:c语言递归函数大题 c语言递归函数详解
网站URL:http://ybzwz.com/article/ddgesos.html