c语言用递归函数求n!
时间: 2023-09-13 20:12:25 浏览: 40
可以使用递归函数来求n的阶乘,具体代码如下:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d的阶乘是%d\n", n, factorial(n));
return 0;
}
```
递归函数`factorial`的作用是计算n的阶乘。如果n等于0或1,则直接返回1;否则,返回n乘以`factorial(n-1)`的结果。在`main`函数中,读入一个正整数n,并调用`factorial`函数来计算n的阶乘,并输出结果。
相关问题
c语言用递归函数求n!,函数类型是double
下面是用递归函数求n!的C语言代码:
```c
#include <stdio.h>
double factorial(int n) {
if (n == 0) {
return 1;
}
else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
double result = factorial(n);
printf("%d! = %.0f\n", n, result);
return 0;
}
```
这里定义了一个名为`factorial`的递归函数,用于计算n的阶乘。如果n为0,则返回1;否则,返回n乘以`(n-1)`的阶乘。在主函数中,通过用户输入的方式获取n,然后调用`factorial`函数计算结果,并输出到屏幕上。由于阶乘的结果可能非常大,因此我们使用`double`类型来存储结果。
c语言递归函数求n!
以下是C语言中利用递归的方式得到n!的代码实现:
```c
#include <stdio.h>
int f(int n) {
if (n == 1) {
return 1;
} else {
return n * f(n - 1);
}
}
int main() {
int n;
printf("请输入一个正整数n:\n");
scanf("%d", &n);
printf("%d! = %d\n", n, f(n));
return 0;
}
```
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)