写一个程序,使用c语言,打印出100的阶乘(即1*2*3*…*100)的精确数值结果(不能是浮点数)。如5的阶乘是1*2*3*4*5=120。
时间: 2024-04-23 18:20:55 浏览: 20
要计算100的阶乘,可以使用循环来实现。以下是一个使用C语言编写的程序,可以打印出100的阶乘的精确数值结果:
```c
#include <stdio.h>
void calculateFactorial(int n) {
int result[200]; // 用数组存储结果的每一位
int len = 1; // 结果的位数
result = 1; // 初始化结果为1
for (int i = 2; i <= n; i++) {
int carry = 0; // 进位
for (int j = 0; j < len; j++) {
int temp = result[j] * i + carry; // 计算当前位的乘积并加上进位
result[j] = temp % 10; // 取个位数作为当前位的结果
carry = temp / 10; // 计算进位
}
while (carry > 0) { // 处理最高位的进位
result[len] = carry % 10;
carry /= 10;
len++;
}
}
printf("%d! = ", n);
for (int i = len - 1; i >= 0; i--) {
printf("%d", result[i]);
}
printf("\n");
}
int main() {
calculateFactorial(100);
return 0;
}
```
运行以上程序,将会输出100的阶乘的精确数值结果。
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)