用c语言写求1!+2!+3!+4!+...+20!
时间: 2023-06-09 11:02:01 浏览: 75
以下是用C语言编写的计算1!到20!的程序:
```
#include<stdio.h>
int main()
{
int i,j,sum;
for(i=1;i<=20;i++)
{
sum=1;
for(j=1;j<=i;j++)
{
sum*=j;
}
printf("%d!=%d\n",i,sum);
}
return 0;
}
```
相关问题
用c语言写 求1!+2!+3!+.…+20!
以下是用C语言求1!+2!+3!+...+20!的代码和解释:
```c
#include <stdio.h>
int main()
{
double sum = 0, temp = 1; // 定义双精度浮点型变量sum和temp
int i; // 定义整型变量i
for (i = 1; i <= 20; i++) // for循环,i从1到20
{
temp = temp * i; // 计算i的阶乘
sum = sum + temp; // 将阶乘加到sum中
}
printf("结果:%22.15e\n", sum); // 输出结果,注意输出的格式
return 0; // 主函数返回值为0
}
```
解释:
1. 首先定义了两个双精度浮点型变量sum和temp,分别用来存储求和的结果和计算阶乘的中间结果。
2. 然后定义了一个整型变量i,用来控制循环次数。
3. 在for循环中,i从1到20,每次循环计算i的阶乘,并将结果加到sum中。
4. 最后使用printf函数输出结果,注意输出的格式为%22.15e,其中22表示输出的宽度为22个字符,.15表示小数点后保留15位小数,e表示使用科学计数法输出。
求1!+2!+3!+4!+...+20!。C语言实现
可以使用循环结构和累加器来实现这个求和过程。具体实现如下:
```c
#include <stdio.h>
int main() {
int i, j;
long long sum = 0, fac = 1;
for (i = 1; i <= 20; i++) {
fac = 1;
for (j = 1; j <= i; j++) {
fac *= j;
}
sum += fac;
}
printf("1!+2!+3!+...+20! = %lld\n", sum);
return 0;
}
```
在这个程序中,我们使用了两个循环结构。外层循环控制求和的范围,内层循环计算阶乘。每次计算完一个阶乘后,将其累加到总和中。最后输出总和即可。