新四季網

c語言裡階乘怎麼表示,如何在c語言中表示階乘

2023-04-02 05:28:04 1

  一個數的階乘大家都不陌生,原理很清楚,就是給定一個正整數,然後計算所有小於等於這個正整數的乘積。

  這裡我們需要明確幾點:

   1.負數沒有階乘,所以默認為正整數。

   2的階乘,0是1,這是人為規定的,記住就好。

  所以,今天我們的重點是用C語言實現數的階乘,但是我提出一個要求:利用前幾天學過的知識,利用函數和遞歸函數實現數的階乘。

  這樣不僅可以複習函數和遞歸函數的方法,還可以鞏固自己的C語言基礎。

  在C語言中正式實現數字的階乘之前,我們先來看看邏輯。

  一個數的階乘,除了0的階乘是1,正整數的階乘是所有小於等於它的乘積。

  給定一個數5,那麼5的階乘就是5!=1x2x3x4x5=120 .

  這裡需要用一個循環,就是可以迭代小於5的數。

  遍歷1,2,3,4,5後,連續相乘。

  初始值為1時,第一次乘法為1,第二次乘法為1和2,直到第五次乘法為前四次乘法的乘積乘以5,最後得到120。

  首先給出流程圖給大家理解。有三種方法來實現代碼。第一種是把所有代碼直接寫在主函數裡。

  這個方法比較直觀,就是遍歷一個給定的數,從1開始到自身,然後不斷相乘。注意,我一開始在這裡用了一個給定的數相乘,但實際上這是有問題的,我還是要從1開始。畢竟1的階乘是從1開始的。

   # includes dio . hint main{ int number;int factorial=1;//因為factorial是factorial的英文scanf(%d ,number);for(int I=1;I=數字;i ) {階乘=i *階乘;//這是為了保證即使number=0,結果也是1} printf(%d ,階乘);}測試結果:

  第二種方法是在主函數外面寫一個子函數,然後直接調用主函數裡面的子函數。

   # includesdio . hvoid factorial{ int number;int factorial=1;//因為factorial是factorial的英文scanf(%d ,number);for(int I=1;I=數字;i ) {階乘=i *階乘;//這是為了保證即使number=0,結果也是1} printf(%d ,階乘);} int main{ factorial;//可以說是直接執行這部分主代碼然後在main函數中調用}。其實可以發現,這和我們上面直接在主函數裡寫的方法沒什麼區別。唯一不同的是,它看起來更直觀,代碼也不完整。

  測試結果:

  第三:在主函數之外寫一個遞歸函數,就是讓子函數不斷調用自己。

  相比前兩種方法,遞歸函數顯然更容易理解,也明顯使得代碼的利用率更高。因為0的階乘是0,這個要分開判斷,也就是結果是1,然後乘以一個比它小的數。

  其實這個邏輯很好理解。給定數字5,那麼5乘以階乘(4),階乘(4)再乘以階乘(3)。以此推理下去,直到最小值乘以1,滿足所有數從1到自身的乘法。

   # includesdio . hint factorial(int n){ if(n=0){ return 1;}返回n *階乘(n-1);//乘以一個比它小的正整數} int main{ int number=0;scanf(%d ,編號);printf(%dn ,factorial(number));//相比之前,明顯更簡單}測試結果:

  綜上所述,階乘其實挺簡單的,就是要多開一點思路,不要局限於只用一種方法來實現。多利用一些我們之前學過的方法,可以提高代碼的利用率,提高我們的編程能力。

同类文章
 古代女子偷情會受什麼處罰?她們用生命在偷歡

古代女子偷情會受什麼處罰?她們用生命在偷歡

空虛了,寂寞了,感情上找不到依靠,那就幫身體找個依靠吧。在現代,偷情是道德問題,而在古代,偷情有時候就是促犯法律的問題,看到這裡,大家一定很好奇古代女子人情會受到怎麼處罰吧,下面就隨著51區未解之謎網小編一起來看看吧。古代女子偷情一般會受到七種處罰1、騎木驢一種針對女性犯人的酷刑。所謂木驢,其實就是
 美國為什麼那麼多地震?揭秘美國地震多的原因

美國為什麼那麼多地震?揭秘美國地震多的原因

地震這一自然危害,來時悄無聲息,走時遍地狼藉,危害十分的大,更讓人鬱悶的是,現代雖有地震預警系統,但當地震來臨時,人們是無力抵抗的。這其中,美國就是一個地震多發國,而且集中在過去的十年。那麼美國為什麼那麼多地震呢?下面隨著小編一起來看看下面這篇文章吧。美國為什麼那麼多地震?揭秘美國地震多的原因比如從
 這六部劇情有點黃的電影,你喜歡哪部?

這六部劇情有點黃的電影,你喜歡哪部?

很多的電影都會在劇情當中加上一些色情或是暴力的鏡頭,從而增加觀眾看片時的感官體驗。今天現編就給大家帶來幾部能夠刷新你世界觀、考驗人的心理承受能力的片子、大家一起來看看吧!一、《下水道人魚》此片給人的最大衝擊來自於視覺,骯髒的下水道、半泡在髒水中的棄嬰、成堆的蛆、腐爛的貓、長的腐-肉、流著粘稠液體的膿

下一次龍年是哪幾年,龍年的下一個年是什麼年

下一次龍年是哪幾年,龍年的下一個年是什麼年以2022年為基準,下一個龍年是2024年。另外,龍年有:1940年、1952年、1964年、1976年、1988年、2000年、2012年、2036年、2048年、2060年、2072年等。龍年龍在十二生肖中排名第五,與十二地支同屬於「辰」。一天中十二個小
 日本為什麼那麼乾淨?國人看了臉紅

日本為什麼那麼乾淨?國人看了臉紅

一次偶然的機會,我去過日本,有一句本不想說出口,但又實在忍不住,那就是日本為什麼那麼乾淨?可是反觀我國城市有一些街道就顯得非常的髒亂,這到底是什麼原因呢?經過了解,我發現日本做到了下以八個方面,下面我們就一起來看看吧。1.沒公共垃圾桶,垃圾自行帶回家丟。日本為什麼那麼乾淨相對於不少國家來說,日本街道
 日本最不容錯過的9部情色電影 這些電影你都看過嗎?

日本最不容錯過的9部情色電影 這些電影你都看過嗎?

一說到日本電影大多數人都會想到日本動作情色電影,也許你會覺得現在直來直去的日本AV實在太無趣了,那麼你可以回頭看看AV這個詞出現的前後(上世紀80年代初)的日本情色電影吧。今天51區小編就給大家介紹幾部最經典的日本情色電影,不然錯過哦!其中的經典電影,香豔自然少不了,還有對人性的深刻描寫。1、瀨瀨敬

三十四個省級行政區簡稱和行政中心地圖,三十四個省級行政區簡稱和行政中心順口溜

三十四個省級行政區簡稱和行政中心地圖,三十四個省級行政區簡稱和行政中心順口溜北京北京北京。天津,天津,天津。上海,上海,上海。重慶,重慶,重慶。河北省,河北,石家莊。河南,河南,鄭州。湖北省,湖北,武漢。湖南,湖南,長沙。江蘇,江蘇,南京。江西省,江西,南昌。遼寧,遼寧,瀋陽。吉林,吉林,長春。三十

唐朝西涼是現在的哪個省,北涼是現在的哪個省

唐朝西涼是現在的哪個省,北涼是現在的哪個省西涼,中國歷史上的「涼州」,位於中國西部,主要在甘肅省境內,故稱西涼、西州。涼州有著悠久的人類活動歷史。早在四五千年前,戎、崔、月氏、烏孫等北方民族就已雜居。涼州是西漢和唐朝時期僅次於長安的中國西北最大的古城。東晉十六國時期前涼後涼,南涼北涼,唐初的都城大良
 apa酒店老闆新書否認南京大屠殺 絕撤書日本要付出什麼代價?

apa酒店老闆新書否認南京大屠殺 絕撤書日本要付出什麼代價?

今年1月份,APA集團代表元古谷志雄的著書否認南京大屠殺成為問題起源。介紹該書的視頻在中國網上流傳後,引起了強烈中韓民眾強烈不滿,進而發起抵制該集團的行動。沒想到風波才過去短短幾個月,元古谷志雄又跳出來「生事」——宣傳新書並且聲稱從未想過要撤掉擺在酒店客房內的有關書籍,更不會因為東京奧運會而這麼做。
 2017年春節是幾月幾號?2017年春節放假安排

2017年春節是幾月幾號?2017年春節放假安排

時間匆匆轉眼又是一年,馬上又到2017年了。很多朋友都在關心2017年春節是幾月幾號?2017年春節放假時間怎麼安排的!今天51區為大家提供最新放假時間!↓↓↓2017年春節是幾月幾號?從上圖可以看到除夕是2017年1月27號,那麼春節就是2017年1月28號咯。也就是說離過年52天(從2016年1