[C言語]積分範囲演算 中点則

C
#include<stdio.h>


float f(float x){
	return 4/(1+x*x);
}



int main(){
	float 	a;			/* 積分区間左端 */
	float 	b;			/* 積分区間右端 */
	float 	h;			/* 分割幅 */
	float 	r;			/* 積分結果 */
	float   x;			/* 積分範囲変数 */
	int 	n;			/* 分割数 */
	int 	i;			/* カウンタ変数 */
	
	
	printf("積分区間の左端を入力してください\n");
	scanf("%f",&a);
	printf("積分区間の右端を入力してください\n");
	scanf("%f",&b);
	
	n = 2048;       				/* 分割数 */
	i = 0;						/* カウンタ変数の初期化 */
	r = 0.0;					/* 積分結果の初期化 */ 
	h = (b - a) / n;            /* 分割幅計算 */
	
			
	while(i <= n){
		x = ((h * i) + (h * i + h)) / 2;
		r = r + f(x);
		
		i++;
	}
	
	r = h * r; 
	 
	
	printf("関数f(x)の区間[%f, %f]における積分値は%fです。\n",a,b,r);
	
	return 0;

 

コメント

タイトルとURLをコピーしました