c语言求用循环语句计算e=1+1/1!+1/2!+1/3!+...1/n!
时间: 2023-11-22 09:04:50 浏览: 62
以下是两种C语言求解e的例子:
1.使用for循环计算e
```c
#include <stdio.h>
int main(void){
int i, n;
double sum = 1, t = 1;
printf("输入n:\n");
scanf("%d", &n);
for(i = 1; i <= n; i++){
t = t * i;
sum = sum + 1 / t;
}
printf("e=%lf", sum);
return 0;
}
```
2.使用while循环计算e
```c
#include <stdio.h>
int main(void){
int i = 1, n;
double sum = 1, t = 1;
printf("输入n:\n");
scanf("%d", &n);
while(i <= n){
t = t * i;
sum = sum + 1 / t;
i++;
}
printf("e=%lf", sum);
return 0;
}
```
相关问题
用循环语句编写程序,计算e=1+1/1!+1/2!+...+1/n!。
这里提供一个C语言的循环语句程序,可以计算e=1+1/1!+1/2!+...+1/n!,其中n是用户输入的数值。程序会一直计算直到最后一项的绝对值小于10^-6为止,并将输出结果保存在文件java_11.txt中。
```
#include <stdio.h>
#include <math.h>
int main() {
int n, i;
double sum = 1, t = 1;
printf("请输入n:");
scanf("%d", &n);
for (i = 1; fabs(t) >= 1e-6; i++) {
t = t * i / sum;
sum += t;
}
printf("e = %lf\n", sum);
FILE *fp;
fp = fopen("java_11.txt", "w");
fprintf(fp, "%lf", sum);
fclose(fp);
return 0;
}
```
程序中使用了for循环语句,计算每一项的值,并将其加入到总和中。当最后一项的绝对值小于10^-6时,循环结束,输出结果并将其保存在文件java_11.txt中。
用C语言循环语句计算e=1+1/1!+1/2!+...+1/n!。最后一项值1/n!小于等于10*(-5)即可结束运算。除输出e之外,还要输出总项数n
这里提供两种用C语言循环语句计算e的方法,分别是for循环和while循环。其中,for循环计算前50项,while循环直至最后一项的值小于10^-4。代码如下:
方法一:for循环
```c
#include <stdio.h>
//用for循环求e的值
double For() {
double sum=1,temp=1;
int i;
for(i=1;i<50;i++) {
temp/=i;
sum+=temp;
}
return sum;
}
//主函数
int main() {
double a = For();
printf("用for循环求出e的前50项的和是%lf\n",a);
return 0;
}
```
方法二:while循环
```c
#include <stdio.h>
//用while循环求e的值
double While() {
double sum=1;//首项设置为1
double temp = 1; int i=1;
while(temp>=1e-4) {
//【e=1+1/1!+1/2!+1/3!+1/4!+1/5!+...+1/n!】
temp = temp/i;//第二项1/1,即1/1!;第三项1/2,即1/2!;第四项(1/2)/3,即1/3!...
sum = sum+temp;
i++;
}
return sum;//返回sum
}
//主函数
int main() {
double b = While();
printf("用while循环求出e和是%lf\n",b);
return 0;
}
```
回答完毕,以下是三个相关问题: