c语言求n的阶乘如何运行
时间: 2024-09-23 11:12:44 浏览: 54
算10000以内数阶乘的C语言程序.rar_C语言_阶乘
在C语言中,计算一个数n的阶乘通常可以使用递归或循环的方式。以下是两种常见的方法:
**1. 递归法:**
```c
#include <stdio.h>
unsigned long long factorial(int n) {
if (n == 0 || n == 1) {
return 1; // 阶乘的基本情况,0和1的阶乘都是1
} else {
return n * factorial(n - 1); // 递归调用自身,每次减少1直到1
}
}
int main() {
int n;
printf("请输入一个非负整数:");
scanf("%d", &n);
unsigned long long result = factorial(n);
printf("结果是:%llu\n", result);
return 0;
}
```
**2. 循环法:**
```c
#include <stdio.h>
unsigned long long factorial(int n) {
unsigned long long fact = 1;
for (int i = 1; i <= n; ++i) {
fact *= i;
}
return fact;
}
// 使用方法同上
```
在这两种方法中,输入一个整数n,程序会计算并返回它的阶乘。注意,对于较大的n值,可能会超过`long long`类型的范围,所以实际应用中可能需要额外处理这种情况。
阅读全文