⽤for和while循环求e的值[e=1+11!+12!+13!+14!+15!+...+1n!] /*编敲代码,依据下⾯公式求e的值。
要求⽤两种⽅法计算:
1)for循环。计算前50项
2)while循环,直⾄最后⼀项的值⼩于10-4
e=1+1/1!+1/2!+1/3!+1/4!+1/5!+...+1/n!
*/
#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;
}
//=====================================================
//⽤while循环求e的值
double While()
while语句都可以用for改写{
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 a = For();
double b = While();
printf("⽤for循环求出e的前50项的和是%lf\n",a);
printf("⽤while循环求出e和是%lf\n",b);
return 0;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论