C語言可以使用循環來求n的階乘。以下是一種常見的求階乘的方法:
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
printf("請輸入一個正整數: ");
scanf("%d", &n);
// 如果輸入的是負數,則無法計算階乘
if (n < 0) {
printf("錯誤!負數沒有階乘。");
}
else {
for (i = 1; i <= n; ++i) {
factorial *= i;
}
printf("%d 的階乘 = %llu", n, factorial);
}
return 0;
}
在上述代碼中,我們首先聲明了一個變量n來存儲用戶輸入的值,聲明了一個變量i作為循環計數器,以及一個變量factorial來存儲階乘結果。接下來,我們使用scanf
函數從用戶輸入中獲取n的值。
然后,我們使用一個for
循環來計算階乘。循環從1開始,每次循環將i乘以當前的階乘結果,并將結果保存在factorial變量中。循環繼續執行,直到i的值等于n為止。
最后,我們使用printf
函數將結果打印出來。
需要注意的是,由于階乘的結果可能非常大,所以我們使用了unsigned long long
類型來存儲結果,以便能夠處理更大的階乘結果。