使用静态变量求阶乘表
时间: 2024-03-01 09:45:20 浏览: 31
使用静态变量求阶乘表的代码如下:
#include <stdio.h>
long factor(int n2);
void main() {
int n, i;
printf("请输入n的值:");
scanf("%d", &n);
printf("阶乘表如下:\n");
for (i = 1; i <= n; i++) {
printf("%d! = %ld\n", i, factor(i));
}
}
long factor(int n2) {
static long s = 1;
s = s * n2;
return s;
}
相关问题
设计一个函数用静态变量实现阶乘计算结果
好的,以下是一个使用静态变量实现阶乘计算结果的函数示例:
```c++
int factorial(int n) {
static int result = 1;
result *= n;
if (n == 1) {
int res = result;
result = 1; // 重置静态变量
return res;
}
return factorial(n - 1);
}
```
这个函数的基本思路是使用一个静态变量 `result` 存储计算结果,每次调用 `factorial` 函数时,将 `n` 乘以 `result`,并且在 `n` 等于 1 时返回结果并重置 `result`,以便下一次计算。这样,每次调用 `factorial` 函数时,都使用上一次计算的结果,避免了重复计算阶乘。
设计一个函数用静态变量实现阶乘计算结果C语言
好的,以下是一个使用静态变量实现阶乘计算结果的函数示例:
```c
int factorial(int n) {
static int result = 1;
result *= n;
if (n == 1) {
int res = result;
result = 1; // 重置静态变量
return res;
}
return factorial(n - 1);
}
```
这个函数的基本思路是使用一个静态变量 `result` 存储计算结果,每次调用 `factorial` 函数时,将 `n` 乘以 `result`,并且在 `n` 等于 1 时返回结果并重置 `result`,以便下一次计算。这样,每次调用 `factorial` 函数时,都使用上一次计算的结果,避免了重复计算阶乘。