Shinone+const 2022-09-28 15:28 采纳率: 92%
浏览 13
已结题

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

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

img


这是问题

#include<stdio.h>
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.

  • 写回答

1条回答 默认 最新

  • 快乐鹦鹉 2022-09-28 15:35
    关注

    10e-4
    改成 1e-4

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月6日
  • 已采纳回答 9月28日
  • 创建了问题 9月28日