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

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

1.递归公式

2.递归出口

比较简单,直接看程序和注释即可:

#include <stdio.h>
#include <stdlib.h>
//用递归求阶乘
long int fn(int);   //先声明函数原型
int main()
{
    int n;
    printf("Please input an integer!\n");
    scanf("%d",&n);
    printf("%d! is %ld.\n",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)
}


posted @ 2014-03-04 11:48  庄浩  阅读(618)  评论(0编辑  收藏  举报