黑马程序员技术交流社区

标题: 函数的递归调用 [打印本页]

作者: 刀叨    时间: 2015-6-25 20:30
标题: 函数的递归调用
用递归法求n!。
分析:n!本身就是以递归的形式定义的。

n!=1(n=0,1)
n!=n(n-1)! (n>1)
求n!先求(n-1)! ,而求(n-1)!又需要求(n-2)!,以此类推,直到最后0!,而0!=1。所以程序如下:
  1. #include<stdio.h>

  2. long fac(int n)
  3. {
  4.       long  f;
  5.      if(n==0||n==1)
  6.       {
  7.           f=1;
  8.       }else{
  9.                f=fac(n-1)*n;
  10.              }
  11.        return(f);
  12. }

  13. main()
  14. {
  15.     int n;
  16.     long y;
  17.    printf("input a inteager number: \n");
  18.    scanf("%d",&n);
  19.    y=fac(n);
  20.    printf("%d!=%ld\n",n,y);
  21.    getch();
  22. }
复制代码






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2