double e = (double)(b[now + 1] - b[now]) / (double)(a[now + 1] - a[now]) * (double)(d - a[now]) + (double)b[now];
最后出来的值可能产生误差,应该先乘后除,如下:
double e = (double)(b[now + 1] - b[now]) * (double)(d - a[now]) / (double)(a[now + 1] - a[now]) + (double)b[now];