根据公式 求e的近似值,精度要求为10-6,循环语句编程
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/22 09:33:10
#include <stdio.h> //头文件置顶#include <math.h>double fact(int n){\
[1]e=1.0[2]new>10e-6
#include#include//这个函数需要返回double类型,不然结果很快就溢出了doublef(intn){\x05inti;\x05doublem=1.0;\x05for(i=1;i=e)
#include#includeintmain(void){intfun(inti);inti;floatsum=0.0,x;inttemp=1;scanf("%f",&x);sum=x;for(i=
g再问:shenmeyisi什么意思?再答:youaresobed.itisfgasdwswimmingdoingin.再问:汗英语也说得这么糊涂你还是用拼音说吧还有这程序是我自己写的但我实在查不出哪
你写的是使用泰勒公式求e,少一个1.正确的:e=1+1/1!+1/2!+1/3!+.》C++代码(while循环)》》:#includevoidmain(){doublee=1;doublejc=1;
将while(fabs(sum)>=e){item=flag*pow(x,i)*1.0/fact(n);sum=sum+item;flag=-flag;i=i+2;n=n+2;}改为:do{item=
#include<stdio.h>#include<math.h>int main(void){ double x, e,cosx;&n
因为你的item一开始没有初始化编译器就给你一个特别小的负数所以你运行就直接跳出while循环了再问:初始了item=1后,还是不行...是不是程序上问题...再答:item=flag*pow(x,2
这个是用N阶麦克劳林公式求函数值,我马上帮你写.麻烦采纳,谢谢!
认真看了你的代码,没有问题,只是我用的VS2010sum=sum+pow(-1,n+1)*pow(x,2*(n+1))*1.0/(fact(2*(n+1))); 这句里需要改一下
把y=y+item;改成y=y+(int)item;把printf("sum=%f\n",sum);改成printf("sum=%f\n",sum);就应该可以了.再问:改好之后变成这样了,可是正确答
#include#includemain(){doublee,x;doublecosx(doublex);scanf("%lf%lf",&e,&x);printf("%f\n",cosx(x));re
指出几个问题吧..(1)doublefuncos(doublee,doublex);函数申明应该放在main函数外面;(2)doublefuncos(doublee,doublex)函数里面的sum变
1#include2#include3#include4doubleabs(doublea){5returna>0?a:-a;6}7intfun(inta){8if(a==1)return1;9ret
我们令An=1/(n!)那么e=1+A1+A2+A3+.而An+1=An/(n+1)那么当n≥10时An+1再问:谢了啊再答:客气,对你有帮助的话就选为最佳吧
e=0;n=0;item=1/factorial(n);whileitem>=1e-6e=e+item;n=n+1;item=1/factorial(n);endfprintf('经过%d次迭代计算后
你这题会有结果吗?printf根本就没有输出e啊printf("e=%.6f\n");修改为printf("e=%.6lf\n",e);再问:我给漏了::>_
OptionExplicitPrivateSubCommand1_Click()Dime0AsDouble,e1AsDouble,kAsIntegere0=0:e1=1:k=1Whilee1-e0>0