您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 编程语言综合 >> 正文

C++求阶乘的两种方法

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 这篇文章主要介绍了C++求阶乘的两种方法,有需要的朋友可以参考一下

1.使用静态局部变量static 静态局部变量在函数调用结束之后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值。   静态局部变量赋初值实在编译时进行的,即只赋初值一次,在程序运行时它已有初值。   code:   代码如下: #include<iostream> using namespace std; int fac(int n) {  static int f=1;  f=f*n;  return f; } int main() {  int i;  for(i=1;i<=5;i++)  {   cout<<i<<"!="<<fac(i)<<endl;  }  return 0; }     print:    代码如下: /* 1!=1 2!=2 3!=6 4!=24 5!=120 */     2.使用递归的方法 首先进行退出递归的判断,然后进行递归   code:   代码如下: #include<iostream> using namespace std; int fac(int n) {  if(n<0) return 0;  if(n==0||n==1)return 1;  if(n>1)  {   return n*fac(n-1);  } } int main() {  int i;  for(i=1;i<=5;i++)  {   cout<<i<<"!="<<fac(i)<<endl;  }  return 0; }     print:   代码如下: /* 1!=1 2!=2 3!=6 4!=24 5!=120 */