c语言求1到n阶乘的和用递归

Python014

c语言求1到n阶乘的和用递归,第1张

1、打开vc6.0,新建一个vc项目,添加头文件,添加一个空的main函数,这里先定义一个用来求阶乘的函数,函数的参数为i,阶乘就是不断的和前面的一个数相乘,这里就是不断和fact函数相乘,之后编写主函数的内容:

2、在main函数定义int类型变量sum,然后调用fact()将返回值赋予sum,最后使用printf打印sum的值:

3、最后编写程序好后,来运行程序观察结果,这里可以看到打印出了6的阶乘。以上就是C语言用递归的方式求阶乘的过程:

最基础的思路,是逐个求阶乘,并累加。不过由于阶乘是从1乘到n,所以每个数都单独求一次阶乘,会有很多重复运算,影响效率。

所以更快捷的方式是,在上一个数的阶乘基础上,直接乘上本身,得到当前数的阶乘。

以此为主导,代码如下:

#include <stdio.h>

int main()

{

int n, i, n1 = 1,s=0

scanf("%d",&n)//输入n值。

for(i=1i <= ni ++)

{

n1*=i//计算i的阶乘。

s+=n1//累加。

}

printf("%d\n", s)//输出结果。

}

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

2、添加头文件。

3、添加main主函数。

4、定义int变量i。

5、定义double类型变量sum,mix,并赋予初始值。

6、使用for循环求sum。

7、使用printf打印sum。

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