计算求近似值求出答案不对

今天做题,尝试用自己的思路做,发现答案不对,到底是哪出问题呢?我认为的最后一项默认是整数,为什么最后项数差别那么大。

img


这是问题

#include
int main(void)
{
  int n;
  double pai=0;//其实是四分之派

  for(n=1; ; n++)
  {
    if(n%2 != 0)
    pai = pai+(1/(float)(2*n-1));
    else
     pai = pai-(1/(float)(2*n-1));
    if(1/(float)(2*n-1)-(1*10e-4)<0)//我认为的结束条件,转float是怕整型相除等于0
    break;

   }

 printf("%.6lf\n%d",4*pai,n);


 return 0;
}


用codeblocks的运行结果:
3.143589
501
Process returned 0 (0x0) execution time : 0.018 s
Press any key to continue.

10e-4
改成 1e-4