变步长梯形公式(C语言)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

-1-变步长梯形公式(C语言)程序://cehngxu.cpp:定义控制台应用程序的入口点。//#includestdafx.h#includestdio.h#includemath.hdoublef(doublex)//这里自定义了函数,因为出现sin(0)/0的情况,系统无法计算;{doubley;if(x==0)y=1;//把x=0作为一种情况,单独拿出来;elsey=sin(x)/x;//正常情况下的函数;return(y);}//编写这个自定义函数便于你在作业中的计算,对于不用的题目只需改动一下函数即可计算;voidmain()//主函数;{doublea,b,h,k,s,t[4998];//数组的定义中不能出现变量,故对其任意取值,一般取一个很大的数;intn=1,m=0;printf(pleaseinputa=);scanf_s(%lf,&a);//在VC环境下用scanf输入没有问题,但是在我这编译环境visualstudio2013下需要用scanf_s()输入;printf(pleaseinputb=);scanf_s(%lf,&b);t[1]=(b-a)*(f(a)+f(b))/2;do{h=(b-a)/n;s=0;for(k=0;kn;k++){s+=f(a+(k+0.5)*h);}t[2*n]=t[n]/2+h/2*s;//梯形的递推公式n=2*n;m=m+1;-2-}while(fabs(t[n]-t[n/2])=0.0000001);printf(\n计算次数=%d,m);printf(\n计算结果=%.7lf,t[n]);printf(\n误差为=%.10lf,fabs(t[n]-t[n/2]));}新加入的程序部分我做了批注,你应该能看懂,整个程序变化不大,主要是把下标我给你改成了数组,这样看起来比较直观,不容易迷糊。还有就会你那个while的终止条件改了一下,其他没什么变化。结果:

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功