void bibun(double n);
double f(double x, double n);

int main()
{
	bibun(2.0);
	bibun(6.0);
	return 0;
}

void bibun(double n)
{
	double	x = 1.0;
	double	dx = 0.01;
	double	fd, cd, bd;

	fd = (f(x + dx, n) - f(x, n)) / dx;
	cd = (f(x + dx, n) - f(x - dx, n)) / (2.0 * dx);
	bd = (f(x, n) - f(x - dx, n)) / dx;
	printf("n=%f\n", n);
	printf("前進:%f\n", fd);
	printf("中央:%f\n", cd);
	printf("後退:%f\n", bd);
}

double f(double x, double n)
{
	double	y;

	y = 2.0 * pow(x, n) + 3.0 * x + 5.0;
	return y;
}
