C语言编程求解1!+2!+3!+…+19!+20!的值
时间: 2023-11-17 22:05:22 浏览: 163
这道题目要求我们计算1!+2!+3!+…+19!+20!的值。其中,n!表示n的阶乘,即n!=n*(n-1)*(n-2)*...*2*1。我们可以使用循环来计算每个因子的阶乘,并将它们相加得到最终结果。以下是一种可能的C语言代码实现:
```
#include <stdio.h>
int main() {
int sum = 0;
int factorial = 1;
for (int i = 1; i <= 20; i++) {
factorial *= i;
sum += factorial;
}
printf("1!+2!+3!+...+19!+20! = %d\n", sum);
return 0;
}
```
这个程序使用了一个循环来计算每个因子的阶乘,并将它们相加得到最终结果。在每次循环中,我们将当前的因子阶乘累加到sum变量中,并更新factorial变量以计算下一个因子的阶乘。最后,我们输出sum的值即可。
相关问题
19.求1+2!+3!+...+100!的和,用c语言编程,说出设计思路,并画出程序流程图
设计思路:
1. 首先需要计算1到100的阶乘,可以使用循环结构求解;
2. 每次计算完一个数的阶乘后,累加到总和中;
3. 最终输出总和。
程序流程图:
```
开始
|
|——设定计数器i=1,总和sum=0
|——循环结构:当i<=100时执行以下步骤
| |——设定计数器j=1,阶乘res=1
| |——循环结构:当j<=i时执行以下步骤
| | |——res=res*j
| | |——j++
| |——sum=sum+res
| |——i++
|——输出sum
结束
```
C语言代码实现:
```c
#include <stdio.h>
int main()
{
int i, j, res, sum;
sum = 0;
for(i = 1; i <= 100; i++)
{
res = 1;
for(j = 1; j <= i; j++)
{
res *= j;
}
sum += res;
}
printf("1+2!+3!+...+100! = %d", sum);
return 0;
}
```
阅读全文