#include #include #include /* This program evaluates the integral of exp(x) in [0;1] through the * trapezoidal rule. * The integration step is given in input as d in step = 1e-d. * */ int main(int argc, char** argv){ double left = 0; // left limit double point = left; // points at the current position double right = 1; // right limit double step = pow(10, -atoi(argv[1])); // step of integration double sum = 0; // Integral evaluation: stops when point goes over the right edge of the // range. do { sum += step * 0.5 * (exp(point) + exp(point + step)); point += step; } while (point < right); // Print out the result printf("∫exp(x)dx in [0,1]:\t%.7f\n", sum); return EXIT_SUCCESS; }