首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C語言基礎練習:用 for 與 while 迴圈計算 5! (階乘)

     編輯:關於C

題目

分別使用 for 與 while 迴圈計算 5 的階乘 (5! = 120)。

方法一:for 迴圈

#include <stdio.h>
int main() {
    int result = 1;
    for (int i = 1; i <= 5; i++) // 1*2*3*4*5
        result *= i;
    printf("%d\n", result); // 120
    return 0;
}

方法二:while 迴圈

#include <stdio.h>
int main() {
    int result = 1;
    int i = 1;
    while (i <= 5) {
        result *= i;
        i++;
    }
    printf("%d\n", result); // 120
    return 0;
}

通用階乘函式

unsigned long long factorial(int n) {
    if (n < 0) return 0; // 錯誤處理
    unsigned long long res = 1;
    for (int i = 2; i <= n; i++) res *= i;
    return res;
}
// 20! = 2,432,902,008,176,640,000 < 2^64-1,64位無符號可容納 20!
// 21! 溢位,需大數庫

教學重點

  • for 適合「已知次數」迴圈,初始化/條件/迭代集中管理。
  • while 適合「未知次數/條件複雜」迴圈。
  • 階乘增長極快,int (13! 溢位)、long long (20! 溢位),實際專案需大數或浮點近似 (Stirling 公式)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved