#include #include int main(void) { double *x = 0; int xspace = 0; int xlen = 0; double *y; double d; int i; int j; while (scanf("%lf",&d) == 1) { if (xlen == xspace) { y = (double *) malloc((xspace * 2 + 1) * sizeof(double)); if (!y) { printf("out of memory\n"); exit(1); } if (x) { for (i = 0;i < xlen;++i) y[i] = x[i]; free(x); } x = y; xspace = xspace * 2 + 1; } x[xlen++] = d; } while (xlen > 2) { j = 0; for (i = 1;i < xlen;++i) if (x[i] < x[j]) j = i; x[j] = x[--xlen]; j = 0; for (i = 1;i < xlen;++i) if (x[i] > x[j]) j = i; x[j] = x[--xlen]; } if (xlen == 1) printf("%f\n",x[0]); if (xlen == 2) printf("%f\n",(x[0] + x[1]) / 2); return 0; }