鱼C论坛

 找回密码
 立即注册
查看: 2073|回复: 9

[已解决]代码没有问题,但是编译运行之后没有反应

[复制链接]
发表于 2024-1-20 18:14:59 | 显示全部楼层
  1. #include<stdio.h>

  2. int main(void)
  3. {
  4.         double result = 0               ;
  5.         int i = 1 , k = 1               ;
  6.         while(i < 1e8)
  7.         {
  8.                 result += 1.0 * k / i   ;
  9.                 i += 2                  ;
  10.                 k = -k                  ;               
  11.         }
  12.       
  13.         printf("π的近似值是%.7f\n",result*4);
  14.       
  15.         return 0;
  16. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-20 18:45:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-1-20 18:48 编辑
顶聪明的芥子 发表于 2024-1-20 18:20
您好!能帮我看一下我的代码为什么不出结果吗,我已经把result改成你写的double类型了!!


         result 改不改不影响出结果,出结果的关键是 denom,你得把 denom 改成 double!因为,float 只有 7 位有效数字,pow(10 , -8) 的值已经超出了 一个 float 的有效数值范围,从而导致循环无终点。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-9-22 17:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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