c语言计算阶乘的函数
时间: 2023-12-28 13:23:21 浏览: 148
以下是两种C语言计算阶乘的函数的例子:
1.使用for循环计算阶乘
```c
#include <stdio.h>
void factorial() {
int number;
int factorial = 1;
scanf("%d", &number);
for(int i=1; i<=number; i++) {
factorial = i*factorial;//确保即便当number=0的时候,结果也为1
}
printf("%d ", factorial);
}
int main() {
factorial();//直接调用计算阶乘的函数
return 0;
}
```
2.使用递归函数计算阶乘
```c
#include <stdio.h>
long fact(int n) {
static long pro = 1;//pro即product---乘积
pro = pro * n;
return(pro);
}
int main() {
int n, m = 1, pro;
printf("Input n:");
scanf("%d", &n);
for (; m <= n; m++) {
pro = fact(m);
}
printf("%d!=%ld\n", n, pro);
return 0;
}
```
相关问题
c语言计算n的阶乘函数
以下是两种C语言计算n的阶乘函数的例子:
1.创建函数来实现,函数里的计算方法实际还是循环
```c
#include<stdio.h>
int jie(int n) //创建一个jie函数用来求n!
{
int i, b=1;
for (i = 1; i <= n; i++)
{
b *= i;
}
return b;
}
int main()
{
int n = 0;
scanf("%d", &n);
int a = jie(n);
printf("%d\n", a);
}
```
2.用循环直接算
```c
#include <stdio.h>
int main()
{
int n,i,a=1;
scanf("%d",&n);
for (i = 1; i <=n; i++)
{
a= a*i;
}
printf("%d\n", a);
}
```
c语言阶乘函数
以下是一个计算阶乘的C语言函数:
```c
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
```
这个函数使用递归来计算阶乘。当传入的参数为0时,返回1,否则返回n乘以n-1的阶乘。需要注意的是,当n很大时,可能会导致栈溢出,因此建议使用循环的方式来计算阶乘。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)