二進数の世界だから、0.1はあらわせなく、誤差が生じて
判定されてしまうって言うのが一般的な回答なのでは?
for(int i=0;i<100;i+=1){ //i++で充分
  printf("%1.1f ",i/10.0);
}
こういうふうにしなさいと言うのもあると思う。
違ってたらご免。