作为一个C语言小白,计算 PI/4 = 1 - 1/3 + 1/5 - 1/7 +...,直到最后一项小于 10 负 6 次方

Jolan_csdn 2019-05-21 01:27:30
#include<stdio.h> void main() { double pi=0.0,i=1.0,j=1.0; for(;i<1000000;i=i+2,j=-j) { pi = pi+(1/(i*j)); } pi = pi*4; printf("%fl\n",pi); }
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
CaptainXue 2019-05-21
  • 打赏
  • 举报
回复 1
题目要求最后一项小于10负6次方,你的程序中没有加该条件,由于最后一项前面的符号可能是+,也可能是减。所以它的条件应该写为:
-1e-6<1.0/(i*j) && 1.0/(i*j)<1e-6
,修改后的代码为:

#include <stdio.h>
int main() {
double pi=0.0,i=1.0,j=1.0;

for(;i<1000000.0;i=i+2.0,j=-j)
{
if (-1e-6<1.0/(i*j) && 1.0/(i*j)<1e-6) break;
pi = pi+(1.0/(i*j));
}
pi = pi*4;
printf("%lf\n",pi);//注意这里是%lf,而不是%fl
return 0;
}


赵4老师 2019-05-21
  • 打赏
  • 举报
回复 1
#include <stdio.h>
int main() {
    double pi=0.0,i=1.0,j=1.0;

    for(;i<1000000.0;i=i+2.0,j=-j)
    {
        if (-1e-6<1.0/(i*j) && 1.0/(i*j)<1e-6) break;
        pi = pi+(1.0/(i*j));
    }
    printf("%.6lf\n",pi);
    printf("%.6lf\n",pi*4.0);
    return 0;
}
//0.785398
//3.141591
//

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧