C语言经典算法100例-026-递归求阶乘

我们利用这道题来了解一下递归,复习一下递归的几个点。

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)
}


原文地址:https://www.cnblogs.com/mrbourne/p/9959498.html