用递归方法求n!
解题思路:
求n!求递归的方法,即5!等于4!x5,而4!=3!x4….
用下面的递归公式表示:
n
!
=
1
——
(
n
=
0
,
1
)
n!=1——(n=0,1)
n!=1——(n=0,1)
n ( n − 1 ) ! —— ( x > 1 ) n(n-1)!——(x>1) n(n−1)!——(x>1)
#include<stdio.h>
int main()
{
int fac(int n);//fac函数声明
int n;
int y;
printf("input an integer number:");
scanf("%d", &n);//输入要求阶乘的数
y = fac(n);
printf("%d!=%d\n", n, y);
return 0;
}
int fac(int n)//定义fac函数
{
int f;
if (n < 0)
printf("n<0,data,error!");//n不能小于0
else if (n == 0 || n == 1)//n=0或1时n!=1
f = 1;
else
f = fac(n - 1) * n;//n>1时,n!=n*(n-1)
return f;
}