C++求阶乘的两种方法_C语言教程-查字典教程网
C++求阶乘的两种方法
C++求阶乘的两种方法
发布时间:2016-12-28 来源:查字典编辑
摘要:1.使用静态局部变量static静态局部变量在函数调用结束之后不消失而保留原值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上...

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

*/

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类