m0_63670854 2021-11-11 14:54 采纳率: 100%
浏览 28
已结题

兄弟看一下这个程序,我觉得逻辑应该没问题,但是输出的时候,结果是0.00000000

double s()
{
double n = 1;
double sum = 0;
while (1.0/(n*n) <= 1e-6)
{
sum = sum + (1.0 / (n * n));
n++;

}
return sum;

}
void main()
{

double y;

y = s();
printf("%lf\n", y);

}

  • 写回答

4条回答 默认 最新

  • qzjhjxj 2021-11-11 15:00
    关注

    while (1.0/(n*n) <= 1e-6) 循环条件不正确,应该改为:while (1.0 / (n * n) >= 1e-6)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 11月19日
  • 已采纳回答 11月11日
  • 创建了问题 11月11日