>>773
double time;
for (time = 0; time < 200; time += 0.01);
for (; time < 800; time += 0.1);
for (; time < 1000; time += 0.01);
#但し加算の精度に注意。

或いはこっちの方が元のに近いかな。
double time;
unsigned it;
double dt = 0.01;
for (it = 0; it < 200 / dt; ++it) time = it * dt;
for (it < 800 / dt; it += 10) time = it * dt;
for (it < 1000 / dt; ++it) time = it * dt;