C语言【求S+=+1+++1+/+2!+++1+/+3!+++1+/+4!+++…+++1+/+n!】
时间: 2023-11-23 19:07:39 浏览: 36
以下是C语言求S的代码,其中使用了循环和嵌套循环来计算阶乘和:
```c
#include <stdio.h>
int main() {
int n, i, j, factorial = 1;
double S = 0.0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= j;
}
S += 1.0 / factorial;
}
printf("S的值为:%lf", S);
return 0;
}
```
相关问题
S=1/1!+1/2!
以下是求S=1/1!+1/2!?的C语言程序:
```c
#include <stdio.h>
int main() {
int i, j;
float sum = 1, temp = 1;
for (i = 2; i <= 10; i++) {
temp = 1;
for (j = 1; j <= i; j++) {
temp *= j;
}
sum += 1.0 / temp;
}
printf("S=1/1!+1/2!=%f\n", sum);
return 0;
}
```
运行结果为:S=1/1!+1/2!=1.416667
c语言1!+2!+3!
题目要求计算1!+2!+3!+...,其中“!”表示阶乘。下面是两种C语言的实现方法:
方法一:
```
#include <stdio.h>
int main(){
int sum=0,s=1,n,i;
scanf("%d",&n);
for(i=1;i<=n;i++){
s=s*i;
sum=sum+s;
}
printf("%d",sum);
}
```
方法二:
```
#include <stdio.h>
int main(){
int i,j,N,sum=0,sum1;
scanf("%d",&N);
for(i=1;i<=N;i++){
sum1=1;
for(j=1;j<=i;j++){
sum1=sum1*j;
}
sum+=sum1;
}
printf("%d",sum);
}
```
方法一中,我们使用了一个累乘器s来获得每个数的阶乘结果,然后将所有阶乘结果相加得到最终结果。方法二中,我们使用了两个循环,外循环用来遍历每个数,内循环用来求每个数的阶乘结果,然后将所有阶乘结果相加得到最终结果。