vcc语言递归函数例题 c语言递归函数代码

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

#include

牧野ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

#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语言 函数递归调用的简单例子

举一个用递归调用函数求输入非负整数的阶乘的例子,如下:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

int fact(int n){

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

else return n*fact(n-1);

}

int main(void){

int x;

while(1){

printf("Input x(int 12=x=0)...\nx=");

if(scanf("%d",x),x=0  x=12)//x12时会使结果溢出

break;

printf("Error,redo: ");

}

printf("%d! = %d\n",x,fact(x));

return 0;

}

C语言递归函数题

这个是递归函数:

recursion(int x,int y)

{

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

else return x+recursion(x+1);

}

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

C语言实验题:用递归法求两个正整数x、y的最大公约数,递归公式为:

1、首先打开vc6.0,新建一个vc项目。

2、添加头文件。

3、添加main主函数体。

4、定义a、b、t、r四个变量。

5、使用scanf给a、b变量赋值。

6、如果 a b,交换a、b。

7、使用while不断求余。

8、使用printf打印最大公约数和最小公倍数。

10、运行程序,看看结果。


网站栏目:vcc语言递归函数例题 c语言递归函数代码
本文URL:http://hbruida.cn/article/ddsgcsg.html