C语言用递归法计算20!。要求:在主函数中调用该函数,并输出结果
时间: 2024-01-22 09:18:55 浏览: 80
用C语言计算20的阶乘
5星 · 资源好评率100%
可以使用递归的方式来计算阶乘,具体实现代码如下:
```c
#include <stdio.h>
long long factorial(int n) {
if (n == 1) { // 当 n = 1 时,直接返回 1
return 1;
} else {
return n * factorial(n - 1); // 递归调用计算 n-1 的阶乘,然后乘以 n
}
}
int main() {
int n = 20;
long long result = factorial(n);
printf("%d! = %lld\n", n, result);
return 0;
}
```
以上代码中,`factorial` 函数通过递归调用计算 n 的阶乘,当 n=1 时,直接返回 1;否则,计算 n-1 的阶乘,然后乘以 n,最终得到 n 的阶乘。在 `main` 函数中调用 `factorial` 函数,并输出结果。运行程序,输出结果为:
```
20! = 2432902008176640000
```
阅读全文