求1!+2!+3!+4!+...+20!的和
时间: 2023-12-17 21:02:41 浏览: 67
以下是三种C语言求1!+2!+3!+4!+...+20!的和的方法:
1.使用for循环和逐个计算阶乘的方法:
```c
#include <stdio.h>
int main() {
int i,j;
double sum,jc;
for(i=1;i<=20;i++){
jc=1;
for(j=1;j<=i;j++){
jc*=j;
}
sum+=jc;
}
printf("%lf",sum);
return 0;
}
```
2.使用for循环和保存前一项阶乘的方法:
```c
#include <stdio.h>
int main() {
int i;
double fac=1,sum=0;
for(i=1;i<=20;i++){
fac=fac*i;
sum+=fac;
}
printf("%lf",sum);
return 0;
}
```
3.使用递归的方法:
```c
#include <stdio.h>
double Fun(double n) {
if(n == 0) return 1; else return n*Fun(n - 1);
}
int main(void) {
double sum = 0, i;
for(i = 1;i <= 20; i++) {
sum += Fun(i);
}
printf("%lf\n",sum);
return 0;
}
```