#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;
コメント