#include stdio.h
创新互联专注于清丰企业网站建设,响应式网站设计,商城建设。清丰网站建设公司,为清丰等地区提供建站服务。全流程定制开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
int fun(int n){
int k;
if(n==0) k=1;
else k=n*fun(n-1);
return k;
}
//以上为运用递归求阶乘的函数,以下为主函数
void main()
{
int n;
scanf("%d",n);
printf("%d!=%d",n,fun(n));
}
运行示例:
1、打开vc6.0,新建一个vc项目,添加头文件,添加一个空的main函数,这里先定义一个用来求阶乘的函数,函数的参数为i,阶乘就是不断的和前面的一个数相乘,这里就是不断和fact函数相乘,之后编写主函数的内容:
2、在main函数定义int类型变量sum,然后调用fact()将返回值赋予sum,最后使用printf打印sum的值:
3、最后编写程序好后,来运行程序观察结果,这里可以看到打印出了6的阶乘。以上就是C语言用递归的方式求阶乘的过程:
举例:用递归方法求n;
#includestdio.h
int main()
{
int n;
int y;
printf("input a integer number:");
scanf("%d",n);
y=fac(n);
printf("%d!=%d\n",n,y);
return 0;
}
int fac(int n)
{
int f;
if(n0)
printf("n0,data error!");
else if(n==0||n==1)
f=1;
else
f=fac(n-1)*n;
return(f);
}
扩展资料:
return用法:
return返回一个数值的意思就是把returnlt;表达式gt;后面表达式的值返回给调用他的函数。举个例子:
int sum(int i,int j)
{
return i+j;
printf("这个语句不会被执行,因为该子函数执行到上面的return语句就无条件结束了");
}
main()
{
int a=10,b=11,c;
c=sum(a,b);
printf("%d",c);
}
程序的输出为:
21
这个21从何而来呢main函数调用sum(a,b)函数时将a的值赋给i,b的值赋给j,上面说了return i+j;会计算i+j的值也就是结果等于21,并将21带回给调用它的函数,即c=sum(a,b);相当于c=21,这个21就是由sum(a,b)中的return反回来的。
1、首先打开vc6.0,新建一个vc项目。
2、接下来需要添加头文件。
3、添加main主函数。
4、定义一个用来求阶乘的函数。
5、在main函数定义int类型变量sum。
6、调用fact(),并将返回值赋予sum。
7、使用printf打印sum。
8、运行程序,看看结果。
#include stdio.h
void f(int);
main()
{
int n;
unsigned long fac;
scanf("%d", n);
fac=f(n);
if(fac)
printf("%d",fac);
}
void f(int n)
{
if(n=0||n10)
{
printf("error");
return 0;
}
else if(n==1) return 1;
else return n*f(n-1);
}