国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++求階乘的兩種方法

2020-01-26 15:40:21
字體:
來源:轉載
供稿:網友

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
*/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴安盟| 碌曲县| 平谷区| 海门市| 土默特左旗| 张家口市| 莲花县| 泰兴市| 友谊县| 泸水县| 天津市| 伊金霍洛旗| 广南县| 兰西县| 武宁县| 霍林郭勒市| 石棉县| 邛崃市| 驻马店市| 彝良县| 垦利县| 互助| 大庆市| 鱼台县| 清河县| 宿迁市| 桐乡市| 邯郸县| 长宁区| 高平市| 恭城| 江城| 磐安县| 南通市| 武安市| 海盐县| 汤原县| 柳州市| 福贡县| 甘肃省| 滦南县|