用C语言求1!+2!+3!+...+20!的和
时间: 2023-08-15 22:06:52 浏览: 126
以下是用C语言计算1!+2!+3!+...+20!的和的代码示例:
```c
#include <stdio.h>
// 计算阶乘
long long factorial(int num) {
long long result = 1;
for (int i = 1; i <= num; i++) {
result *= i;
}
return result;
}
int main() {
int n = 20; // 求和的范围,这里取20
long long sum = 0;
for (int i = 1; i <= n; i++) {
sum += factorial(i);
}
printf("1!+2!+3!+...+20! = %lld\n", sum);
return 0;
}
```
这段代码中,首先定义了一个计算阶乘的函数factorial。然后在主函数中,使用循环遍历1到20,并依次计算每个数的阶乘,然后累加到sum变量中。最后输出sum的结果即可得到1!+2!+3!+...+20!的和。注意,由于阶乘的结果可能会非常大,所以这里使用了long long类型来保存结果。
相关问题
C语言求1!+2!+3!+4!+...+20!
以下是C语言求1!+2!+3!+4!+...+20!的代码演示:
```c
#include <stdio.h>
int main()
{
double sum = 0, temp = 1;
int i;
for (i = 1; i <= 20; i++)
{
temp = temp * i;
sum = sum + temp;
}
printf("结果:%22.15e\n", sum);
return 0;
}
```
该程序使用了for循环来计算1!+2!+3!+4!+...+20!,并使用了双精度浮点型变量来存储计算结果。在每次循环中,变量temp存储当前循环变量i的阶乘,变量sum则将每次计算的阶乘结果相加。最后,使用printf函数输出计算结果。
用C语言求 1!+2!+3!+4!+...+20!
以下是用C语言求1!+2!+3!+4!+...+20!的代码和解释:
```c
#include <stdio.h>
int main()
{
double sum = 0, temp = 1;
int i;
for (i = 1; i <= 20; i++)
{
temp = temp * i;
sum = sum + temp;
}
printf("结果:%22.15e\n", sum);
return 0;
}
```
解释:
1. 首先定义了两个双精度浮点型变量sum和temp,以及一个整型变量i。
2. 在for循环中,从1到20遍历每个数,计算每个数的阶乘并将其加到sum中。
3. 最后使用printf函数输出结果,注意输出的格式为22.15e,即数据宽度为22,数字部分中小数位数为15位。
4. 主函数返回值为0。
阅读全文