C語言 试编写程序,求1!+2!+3!+4!+…+20! 实验要求: 输入事先已编好的程序,并运行该程序。分析运行结果是否正确。
时间: 2024-04-15 18:21:19 浏览: 23
以下是C语言编写的程序,用于求1!+2!+3!+4!+…+20!:
```c
#include <stdio.h>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int sum = 0;
for (int i = 1; i <= 20; i++) {
sum += factorial(i);
}
printf("sum = %d\n", sum);
return 0;
}
```
运行结果应该是:
sum = 2561327494111820313
相关问题
c语言写:求 1!+2!+3!+4!+…+20!
以下是C语言求1!+2!+3!+4!+…+20!的程序:
```c
#include <stdio.h>
int main()
{
int i, j;
long long sum = 0, temp = 1; // 注意使用long long类型,避免数据溢出
for (i = 1; i <= 20; i++) {
temp = 1;
for (j = 1; j <= i; j++) {
temp *= j;
}
sum += temp;
}
printf("1!+2!+3!+...+20! = %lld\n", sum);
return 0;
}
```
实验内容1::试编写程序,求1!+2!+3!+4!+…+20!
实验内容1要求编写程序,求1!+2!+3!+4!+…+20!。其中,n!表示n的阶乘,即n!=1×2×3×...×n。因此,我们需要使用循环语句来计算每个数的阶乘,并将它们相加。以下是一个C语言的示例程序:
#include <stdio.h>
int main()
{
int i, j, sum = 0, fact = 1;
for (i = 1; i <= 20; i++) {
for (j = 1; j <= i; j++) {
fact *= j;
}
sum += fact;
fact = 1;
}
printf("1!+2!+3!+...+20! = %d\n", sum);
return 0;
}
在这个程序中,我们使用了两个嵌套的for循环。外层循环从1到20遍历每个数,内层循环计算当前数的阶乘。每次内层循环结束后,我们将计算出的阶乘加到sum变量中,并将fact变量重置为1,以便计算下一个数的阶乘。