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

如题所述

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-21
#include<stdio.h>
int fun(int n)
{
if(n==1)
return 1;
return fun(n-1)*n;
}
int main()

printf("%d\r\n",fun(10));
}

#include<stdio.h>
int fun(int n)//求介乘递归函数
{
if(n==1)
return 1;
return fun(n-1)*n;
}

int fun2(int n)//求介乘之和递归函数
{
if(n==1)
return 1;
return fun(n)+fun2(n-1);
}

int main()

printf("%d\r\n",fun2(2));
}

第2个回答  推荐于2017-07-23
#include<stdio.h>
int d(int n)
{
if(n==1)
{
return 1;
}
return d(n-1)*n;
}
int main()
{
printf("%d",d(3));
return 0;
}

本回答被网友采纳
第3个回答  2015-12-10
#include<stdio.h>
double fun(int n);
int main(void)
{
int n;
printf("Enter n:");
scanf("%d",&n);
printf("%lf\n",fun(n));
return 0;
}
double fun(int n)
{
if(n==0||n==1)
return 1;
else
return n*fun(n-1);
}本回答被网友采纳
相似回答