用while或do-while语句编写程序,计算e约等于1+1/1!+1/2!+…+1/n!其中在1/n!小于等于10^(-5)时结束.用C写.单循环.

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 13:34:19
用while或do-while语句编写程序,计算e约等于1+1/1!+1/2!+…+1/n!其中在1/n!小于等于10^(-5)时结束.用C写.单循环.
xSݎ@}a&-fpc| cRt˜ܸ%Yaah(KL$Ff W3DM3T[z;WN˥?޻Mv>yrt`jЀ >$o|AdyHOfqX6+$;C{1p4}Ѣ_~:sjTB?'~1)W}hAn.arsNm%))_*.pt0T6iP9y5^~m<28 M}uV<ՐL'6V7줱v3_R|`Njšq{D67ma# ǜ^g!N ?ePK !f}9U\z^s۹kdKwt$9v6y+ Nh $" @@3m^ Q$'ot7Ruܽ*&ekV.XIGMZb;9Z ?HZJoY{}i:>m1ѱskm^~ދM x]ߌQ$+b!u

用while或do-while语句编写程序,计算e约等于1+1/1!+1/2!+…+1/n!其中在1/n!小于等于10^(-5)时结束.用C写.单循环.
用while或do-while语句编写程序,计算e约等于1+1/1!+1/2!+…+1/n!
其中在1/n!小于等于10^(-5)时结束.
用C写.单循环.

用while或do-while语句编写程序,计算e约等于1+1/1!+1/2!+…+1/n!其中在1/n!小于等于10^(-5)时结束.用C写.单循环.
方法1
#include
void main()
{
float e,a; int i,n=0; /*涉及到小数运算要用浮点型变量*/
e=1,a=1; /*a=1在后面有乘积运算*/
for(i=1;1/a>1e-5;i++) /*条件循环语句*/
{
a*=i; /*级乘的算法*/
e+=1/a ; /*e的运算方法*/
n++;
}
printf("%f,n=%d\n",e,n);
}
方法2
#include
int main( )
{
float s = 1,n = 1;int t = 1;
while ( 1 / n >= 0.00001 )
{
s+=1/n;
t++;
n=n*t;
}
printf("%f,n=%d\n",s,t);
return 0;
}
方法3
#include
void main()
{
int i=1,j=1;
float e=1.0,k;
do{
j=i*j;
k=1.0/j;
e=e+k;
i++;
}while(k>1e-5);/*判断误差是否小于给定的误差限E=0.00001 */
printf("%f,n=%d\n",e,i);
}