1.递归-计算指定参数的阶乘(求指定整数的阶乘)

#include <stdio.h>
long fact(int a); //计算指定参数的阶乘
int main()
{
  
  //用循环求a的阶乘(注意输入参数不要超过12,会超过long的范围)
  int a = 4;
  long resutl = 1;
  for (int i = 1; i <= a; ++i)
  {
    resutl = resutl * i;
  }
  printf("%d!的阶乘为:\n",a );  
  printf("循环求阶乘:%ld\n", resutl ); 
  printf("递归求阶乘:%ld\n", fact(a));


    return 0;
}

long fact(int a)
{  
  return a == 1 ? a : a * fact(a-1) ;
}

 

posted @ 2021-06-25 20:06  学而不思则罔!  阅读(264)  评论(0)    收藏  举报