用c语言编写一到二十的阶乘
时间: 2024-09-12 09:03:56 浏览: 40
在C语言中,编写一个程序来计算1到20的阶乘可以通过一个循环结构来实现,同时使用一个足够大的数据类型来存储计算结果,以防止溢出。以下是C语言代码的一个示例:
```c
#include <stdio.h>
#define MAX 20
#define FACT_SIZE sizeof(unsigned long long int) // 假设使用unsigned long long int类型
int main() {
unsigned long long int factorial[MAX + 1]; // 存储阶乘结果的数组
int i;
factorial[0] = 1; // 初始化0!为1
factorial[1] = 1; // 初始化1!为1
for (i = 2; i <= MAX; i++) {
factorial[i] = factorial[i - 1] * i;
}
for (i = 0; i <= MAX; i++) {
printf("%d! = %llu\n", i, factorial[i]);
}
return 0;
}
```
在这段代码中,我们定义了一个数组`factorial`来存储每个数的阶乘值,以及一个循环来计算从1到20的每个数的阶乘。`unsigned long long int`是一个足够大的整型,可以存储这些阶乘值,而不至于在10!之前就溢出。然后我们通过两个循环分别计算阶乘值和打印结果。
阅读全文