C语言用递归函数方式实现阶乘
时间: 2023-03-20 20:02:23 浏览: 93
下面是用递归函数方式实现计算阶乘的 C 语言代码:
```c
#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` 得到 `n` 的阶乘。在 `main` 函数中,程序先读入一个整数 `n`,然后调用 `factorial` 函数计算 `n` 的阶乘,并将结果输出。
相关问题
用c语言 递归函数求8的阶乘
以下是用 C 语言递归函数求 8 的阶乘的代码:
```
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 8;
int result = factorial(n);
printf("%d! = %d\n", n, result);
return 0;
}
```
输出结果为:
```
8! = 40320
```
C语言用递归实现阶乘
以下是使用递归实现阶乘的 C 语言代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n, result;
printf("请输入一个正整数:");
scanf("%d", &n);
result = factorial(n);
printf("%d的阶乘是:%d\n", n, result);
return 0;
}
```
在上面的代码中,factorial() 是递归函数。当参数 n 等于 1 时,函数返回 1。否则,函数调用自身并返回 n * factorial(n - 1)。在 main() 函数中,用户输入一个正整数 n,然后调用 factorial() 函数计算 n 的阶乘并输出结果。