c语言用递归函数求n!,函数类型是double
时间: 2024-01-21 12:16:08 浏览: 89
C语言中利用递归的方式得到n!
5星 · 资源好评率100%
下面是用递归函数求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`类型来存储结果。
阅读全文