c語言實現階乘的方法
從鍵盤輸入一個數,求出這個數的階乘,即n!。
演算法思想
首先要清楚階乘定義,所謂n 的階乘,就是從1 開始乘以比前一個數大1 的數,一直乘到n ,用公式表示就是:1×2×3×4×…×(n-2)×(n-1)×n=n!
具體的運算:利用迴圈解決問題,設迴圈變量為i,初值為1,i 從1 變化到n;依序讓i 與sum 相乘,並將乘積賦給sum。
① 定義變數 sum,並賦初值 1。
② i 自增 1。
③ 直到 i 超過 n。
程式碼
#include <stdio.h> int main() { int i,n; double sum=1; scanf("%d",&n); for(i=1;i<=n;i++) sum=sum*i; printf("%d!=%lf",n,sum); printf("\n"); return 0; }
偵錯運行結果
輸入5,對應的階乘輸出情況如下所示;
5 5!=120.000000
輸入20,對應的階乘輸出情況如下所示:
20 20!=2432902008176640000.000000
總結
① 由於階乘一般較大,會超出整數甚至是長整數所能表示的範圍,因此定義變量時就不能定義為整數,而應該考慮雙精度數。
② 實訓中定義了一個雙精確型的變量,用來存放結果。因此在輸出時應注意雙精度數的輸出格式。
推薦教學:c語言教學
以上是c語言實現階乘的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!