实验八龙贝格算法代码:#include<iostream>#include<>usingnamespacestd;intmain(){ intk=1; doublea,b,c,d,h,x,s,T[2],S[2],C[2],R[2]; cout<<"请输入a和b的值"; cin>>a>>b; cout<<endl; cout<<"请输入允许的最大误差"; cin>>c; cout<<endl; h=b-a; if(a==0)T[0]=(1+sin(b)/b)*h/2; elseT[0]=(sin(a)/a+sin(b)/b)*h/2;loop2:s=0; x=a+h/2;loop1:s=s+sin(x)/x; x+=h; if(x<b)gotoloop1; T[1]=T[0]/2+s*h/2; S[1]=T[1]+(T[1]-T[0])/3; if(k==1) { h=h/2; k++; T[0]=T[1]; S[0]=S[1]; gotoloop2; } elseC[1]=S[1]+(S[1]-S[0])/15; if(k==2) { C[0]=C[1]; k++; h=h/2; T[0]=T[1]; S[0]=S[1]; gotoloop2; } elseR[1]=C[1]+(C[1]-C[0])/63; if(k==3) { R[0]=R[1]; C[0]=C[1]; h=h/2; k++; T[0]=T[1]; S[0]=S[1]; gotoloop2; } elsed=fabs(R[1]-R[0]); if(c<=d) { R[0]=R[1]; C[0]=C[1]; h=h/2; k++; T[0]=T[1]; S[0]=S[1]; gotoloop2; } elsecout<<"得出的值是"<<R[1]<<endl; return0;}流程图:开始输入a,b,eb-a=>hh/2[f(a)+f(b)]=>T0=>sa+h/2=>xX<b?t/2+h/2*s=>TIt1-t2I<ε?输出T2结束h/2=>hT2=>T1S+f(x)=>sX+h=>x运行界面
龙贝格算法实验龙贝格算法 来自淘豆网www.taodocs.com转载请标明出处.