第 7 章 指示質問 10

トピック:

任意の関数の定積分を計算する関数を設計します。

この関数には 3 つのパラメータがあります: 1 つ目は積分対象の関数を指す関数へのポインタ、2 番目と 3 番目のパラメータは定積分の区間です。戻り値は計算された整数値です。定積分は長方形法を使用して計算されます。


コード:

#include <iostream>
using namespace std;

double f1(double);
double f2(double(*f)(double), double, double);

int main()
{
	double x1, x2;

	cout << "用矩形法计算函数y=x*x-2*x+1的定积分" << endl << endl;

	cout << "请输入左边界x1:";
	cin >> x1;
	cout << "请输入右边界x2:";
	cin >> x2;

	cout << "定积分为:" << f2(f1, x1, x2) << endl << endl;

	system("pause");
	return 0;
}

double f1(double x)
{
	return x * x - 2 * x + 1;
}

double f2(double(*f)(double), double x1, double x2)
{
	double e = (x2 - x1) / 100000;   //为了得到更高的精度,100000可改为更大的值
	double sum = 0;

	for (double i = x1; i <= x2; i = i + e) sum = sum + (*f)(i) * e;
	
	return sum;
}

おすすめ

転載: blog.csdn.net/weixin_41013202/article/details/79819685