QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
44
查看: 74|回复: 4

[已解决]求PI近似值

[复制链接]
最佳答案
0 
累计签到:18 天
连续签到:1 天
lwhnx 发表于 7 天前 744 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

S1E16-2 动动手求PI的值
看看我哪里错了 跳不出循环 谢谢。

  1. #include <stdio.h>
  2. #include <math.h>

  3. int main()
  4. {
  5.         float PI = 1, flag1, flag2;
  6.         float i = -1;
  7.         float a = 1;
  8.         float n;
  9.         for (n = 1;  ; n++)
  10.         {
  11.                 flag1 = 1 / (2 * n + 1);
  12.                 flag2 = i * flag1;
  13.                 PI = PI + flag2;

  14.                 if (flag1 < 0.00000001)
  15.                 {
  16.                         break;
  17.                 }

  18.                 i = -i;

  19.         }
  20.         printf("PI = %.7f", PI * 4);

  21.         getchar();
  22. }
复制代码
最佳答案
7 天前
float型达不到这个精度
楼层
跳转到指定楼层
最佳答案
337 
累计签到:178 天
连续签到:27 天
BngThea 发表于 7 天前 From FishC Mobile | 显示全部楼层    本楼为最佳答案   
float型达不到这个精度
最佳答案
0 
累计签到:18 天
连续签到:1 天
lwhnx  楼主| 发表于 6 天前 | 显示全部楼层
BngThea 发表于 2017-12-6 22:26
float型达不到这个精度

long long ?
最佳答案
337 
累计签到:178 天
连续签到:27 天
BngThea 发表于 6 天前 | 显示全部楼层

你是浮点数运算,用long long更没有用处了,应该用double 试试,我指的是if判断的精度
最佳答案
0 
累计签到:18 天
连续签到:1 天
lwhnx  楼主| 发表于 6 天前 | 显示全部楼层
BngThea 发表于 2017-12-7 15:37
你是浮点数运算,用long long更没有用处了,应该用double 试试,我指的是if判断的精度

解决了 谢谢。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-12-13 11:39

快速回复 返回顶部 返回列表