⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 第三题.txt.txt

📁 hitorMiss+用概率算法求积分问题的C程序
💻 TXT
字号:
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
#include"math.h"

double f1(double);
double uniform(double a, double b);
double integral(double(*func)(double), double,double,double, double, int);

void main(){
	double a = 1.0;
	double b = 2.0;
	double c = 1.0;
	double d = 2.0;
	int n = 1000000;
	double result = integral(f1, a, b, c, d, n);
	printf("The result is:%f ", result);
}

double integral(double(*func)(double), double a, double b, double c, double d, int n){
	int k = 0;
	srand( (unsigned)time( NULL ) );	
	for(int i = 1; i <= n; i++){
		double x = uniform(a, b);
		double y = uniform(0, d);
		if(y <= (*func)(x))
			k++;
	}
	return (b - a) * d * (double)k / (double)n;
}

double uniform(double a, double b){
	int j = rand();
	double k = ((double)j) / ((double)RAND_MAX);
	double ran = a + (b - a) * k;
	return ran;
}

double f1(double x){
	double y = - x + 3;
	return y;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -