雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++求階乘的兩種方法

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊:

1.使用靜態(tài)局部變量static
靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束之后不消失而保留原值,即其占用的存儲(chǔ)單元不釋放,在下一次該函數(shù)調(diào)用時(shí),該變量保留上一次函數(shù)調(diào)用結(jié)束時(shí)的值。

靜態(tài)局部變量賦初值實(shí)在編譯時(shí)進(jìn)行的,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。

code:

復(fù)制代碼 代碼如下:

#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:

復(fù)制代碼 代碼如下:

/*
1!=1
2!=2
3!=6
4!=24
5!=120
*/

2.使用遞歸的方法
首先進(jìn)行退出遞歸的判斷,然后進(jìn)行遞歸

code:

復(fù)制代碼 代碼如下:

#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:

復(fù)制代碼 代碼如下:

/*
1!=1
2!=2
3!=6
4!=24
5!=120
*/

上一篇:c語(yǔ)言 字符串轉(zhuǎn)大寫(xiě)的簡(jiǎn)單實(shí)例

欄    目:C語(yǔ)言

下一篇:c病毒程序原理分析(防范病毒 c語(yǔ)言小病毒示例)

本文標(biāo)題:C++求階乘的兩種方法

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/3863.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有