用c语言编程 利用静态变量计算n的阶乘。 **输入格式要求:"%d" 提示信息:"Input n:" **输出格式要求:"%d! = %ld\n" 程序运行示例如下: Input n:10 1! = 1 2! = 2 3! = 6 4! = 24 5! = 120 6! = 720 7! = 5040 8! = 40320 9! = 362880 10! = 3628800
时间: 2023-06-17 13:08:56 浏览: 489
以下是用C语言编写的程序:
```c
#include <stdio.h>
long factorial(int n) {
static long fact = 1;
fact *= n;
return fact;
}
int main() {
int n;
printf("Input n:");
scanf("%d", &n);
for(int i = 1; i <= n; i++) {
printf("%d! = %ld\n", i, factorial(i));
}
return 0;
}
```
程序的核心部分是 `factorial` 函数,该函数使用 `static` 关键字定义了一个静态变量 `fact`,在每次调用时都会将参数 `n` 乘以 `fact`,并将结果返回。由于 `fact` 是静态变量,因此其值在函数调用结束后不会被销毁,下一次调用时仍然可以继续使用。
在 `main` 函数中,我们先读取用户输入的整数 `n`,然后使用循环计算并输出每个数的阶乘。输出格式使用 `%d! = %ld\n`,其中 `%d` 表示整数占位符,`%ld` 表示长整数占位符,`\n` 表示换行符。
阅读全文