编写一个C程序,用函数调用求8的阶乘
时间: 2024-03-25 13:39:14 浏览: 11
好的,以下是 C 代码实现:
```c
#include <stdio.h>
int factorial(int n);
int main() {
int n = 8;
int result = factorial(n);
printf("%d! = %d\n", n, result);
return 0;
}
int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n-1);
}
}
```
在这个程序中,我们定义了一个递归函数 `factorial()` 来计算阶乘。当输入参数 `n` 为 1 时,函数返回 1,否则函数返回 `n` 乘以 `factorial(n-1)` 的结果。在 `main()` 函数中,我们调用 `factorial(8)` 来计算 8 的阶乘,并将结果输出。
相关问题
编写一个程序,用函数调用求8的阶乘
好的,以下是 Python 代码实现:
```python
def factorial(n):
if n == 1:
return 1
else:
return n * factorial(n-1)
print(factorial(8)) # 输出 40320
```
在这个程序中,我们定义了一个递归函数 `factorial()` 来计算阶乘。当输入参数 `n` 为 1 时,函数返回 1,否则函数返回 `n` 乘以 `factorial(n-1)` 的结果。最后通过调用 `factorial(8)` 来计算 8 的阶乘,并将结果输出。
用C语言编写一个可以求任意阶乘的程序
以下是用C语言编写的可以求任意阶乘的程序:
```c
#include <stdio.h>
long long factorial(int n) {
long long result = 1;
for(int i=1; i<=n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
long long fact = factorial(n);
printf("%d的阶乘是:%lld", n, fact);
return 0;
}
```
在这个程序中,我们定义了一个函数`factorial`,用来计算给定整数n的阶乘。在主函数中,我们首先输入一个正整数n,然后调用`factorial`函数计算n的阶乘,并输出结果。
值得注意的是,当n比较大时,阶乘的结果可能会超出long long类型的表示范围,导致计算错误。这时需要使用高精度计算方法来处理。