C语言求定积分

来源:百度知道 编辑:UC知道 时间:2024/06/21 09:58:42
利用梯形法和矩形法求
x^2dx 在(0,1)上的定积分

#include <iostream>
using namespace std;

#define min 0
#define max 1.0

inline double f(double x)
{
return x*x;
}

double Ladder(int n)//用梯形法求积分
{
double width=(max-min)/n;
double sum=0;
for (double d=min;d<max-width/2;d+=width)
{
sum+=(f(d)+f(d+width))*width/2;
}
return sum;
}
double Rectangle(int n)//用矩形法求积分
{
double width=(max-min)/n;
double sum=0;
for (double d=min;d<max-width/2;d+=width)
{
sum+=f(d)*width;
}
return sum;
}

void main()
{
int n;
cout<<"利用梯形法和矩形法求 x^2dx 在(0,1)上的定积分"<<endl;
cout<<"请输入划分小图形个数n(n越大,积分越准确):";
while (1)
{
cin>>n;
if (cin.good()&&n>0)
break;
cout<<"输入错误,请重新输入:";
cin.clear();
cin.sync();
}

cout<<"梯形法积分