c语言不同阶乘和代码
时间: 2024-11-27 09:23:53 浏览: 11
C语言 实现N阶乘的程序代码
在C语言中,计算阶乘通常是通过递归或循环的方式实现的。这里分别给出两种方法:
1. **递归实现**:
```c
#include <stdio.h>
// 递归函数计算阶乘
int factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况
return 1;
} else {
return n * factorial(n - 1); // 递归调用自身
}
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
printf("该数的阶乘是 %d\n", factorial(num));
return 0;
}
```
2. **循环实现**:
```c
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
printf("该数的阶乘是 %d\n", factorial(num));
return 0;
}
```
这两种方法都可以计算阶乘,但是递归可能会有栈溢出的问题对于大数,而循环则更高效。
阅读全文