c语言求n!
时间: 2023-07-13 07:22:17 浏览: 70
可以使用循环来计算 n!,示例代码如下:
```
#include <stdio.h>
int main() {
int n = 5;
int factorial_n = 1;
for (int i = 1; i <= n; i++) {
factorial_n *= i;
}
printf("%d! = %d.\n", n, factorial_n);
return 0;
}
```
在上面的示例代码中,我们使用一个 for 循环来计算 n!,从 1 到 n 循环乘以每个数字,并将结果保存在变量 factorial_n 中。最后输出结果即可。
相关问题
c语言求n!有库函数吗
C语言中可以使用`<stdlib.h>`库中的`factorial`函数来求阶乘,但是事实上这个库函数并不存在,需要自己实现求阶乘的函数。
下面是一个使用递归实现的求阶乘的函数:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 5;
printf("%d! = %d\n", n, factorial(n));
return 0;
}
```
该程序输出:
```
5! = 120
```
上述代码中的`factorial`函数使用递归的方式实现,当输入参数`n`为0时,直接返回1;否则返回`n`乘以`factorial(n - 1)`的结果,即`n`的阶乘。
需要注意的是,当输入的`n`比较大时,递归的深度会变得很大,可能会导致栈溢出,因此需要考虑使用循环等其他方式实现。
c语言求n! 的递归函数
下面是求n!的递归函数代码:
```c
unsigned int factorial(unsigned int n)
{
if(n == 0)
return 1;
else
return n * factorial(n-1);
}
```
这个函数使用了递归的思想,当 n 等于 0 时,返回 1;否则,返回 n 乘以 factorial(n-1) 的结果。递归实现了函数的重复调用,直到满足终止条件后,逐层返回结果,得到最终的结果。