我们利用这道题来了解一下递归,复习一下递归的几个点。
1.递归公式
2.递归出口
比较简单,直接看程序和注释即可:
#include <stdio.h>
#include <stdlib.h>
//用递归求阶乘
long int fn(int); //先声明函数原型
int main()
{
int n;
printf("Please input an integer!
");
scanf("%d",&n);
printf("%d! is %ld.
",n,fn(n));
return 0;
}
long int fn(int n)
{
if(n==1) return 1; //递归出口f(1)=1
else return fn(n-1)*n; //递归公式f(n)=n*f(n-1)
}