用c语言解决simpson算法

#include<iostream.h>
#include<math.h>
#include<iomanip.h>
double sum4(double);//函数声明
double sum2(double);
double f(double);
//
void main()
{
double sn,s2n,h,result,a,b;
double eps;
int n;
cout<<"请输入a=";
cin>>a;
cout<<"请输入b=";
cin>>b;
cout<<"请输入EPS(比如:如果输入7,则表示为10^-7)=";
cin>>eps;
if(a>b||eps<0)return;
eps=pow(10,-eps);//精度
h=b-a;
n=(int)((b-a)/h);
sn=h/(6*n)*(f(a)+4*sum4(h)+2*sum2(h)+f(b));
while(h>0)
{
h/=2;
s2n=h/(6*n)*(f(a)+4*sum4(h)+2*sum2(h)+f(b));
if((fabs(s2n-sn)/15)>eps)sn=s2n;
else
{
result=s2n;//退出循环条件
break;
}
}
cout<<"结果是"<<setprecision(9)<<resul
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值