c语言用递归函数求哪!
时间: 2023-06-20 08:10:00 浏览: 131
递归函数可以用来求解各种问题,比如阶乘、斐波那契数列等等。以下是一个例子,演示如何使用递归函数来计算阶乘:
```
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
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,否则它会递归调用自己来计算 n-1 的阶乘,然后将结果乘以 n,最终返回结果。
注意,递归函数可能会导致栈溢出,因此需要谨慎使用。
相关问题
C语言用递归函数求解n!在主函数调用该函数并输出5!+8!的值
好的,您可以使用如下的C语言代码实现:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) { // 0的阶乘为1
return 1;
}
else {
return n * factorial(n - 1); // 递归调用
}
}
int main() {
int result = factorial(5) + factorial(8); // 调用函数
printf("%d", result); // 输出结果
return 0;
}
```
在上面的代码中,我们定义了一个名为`factorial`的递归函数,用于计算一个整数的阶乘。然后在`main`函数中,我们调用该函数分别计算5的阶乘和8的阶乘,然后将结果相加并输出。
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;
}
```
阅读全文