| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2490 人关注过本帖
标题:给一个式子求PI
只看楼主 加入收藏
wfx753951
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-1-31
结帖率:0
收藏
已结贴  问题点数:10 回复次数:13 
给一个式子求PI
题目的式子没有,只给了个标题跟代码,想请问一下这个t2定义的时候没有具体的值,那while括号里那个怎么判断的?
#include<stdio.h>
#include<math.h>
main()
{ float t1,t2,n=1,sum=1;
  while(fabs(t2)>=10e-5)
  {   n=n+4;;
      t1=-1/(n-2);
      t2=1/n;
      sum=sum+t1+t2;
  }
      sum=4*sum;
  printf("%.3f",sum);
}
搜索更多相关主题的帖子: sum float main include while 
2020-02-04 19:21
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:4 
以下是引用wfx753951在2020-2-4 19:21:16的发言:

题目的式子没有,只给了个标题跟代码,想请问一下这个t2定义的时候没有具体的值,那while括号里那个怎么判断的?
#include<stdio.h>
#include<math.h>
main()
{ float t1,t2,n=1,sum=1;
  
      sum=4*sum;
  printf("%.3f",sum);
}

去掉不相干的代码你的代码等于这个
fabs是绝对值

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-04 20:32
xianfajushi
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:527
专家分:690
注 册:2007-9-8
收藏
得分:4 
修改t2=0试看
2020-02-05 04:12
纯蓝之刃
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:76
帖 子:570
专家分:3727
注 册:2019-7-29
收藏
得分:4 
程序代码:
#include<stdio.h>
#include<math.h>

main()
{
    float t1,t2=1,n=1,sum=1;
    scanf("%f",&t2);
    while(fabs(t2)>=10e-5)
    {
        n=n+4;;
        t1=-1/(n-2);
        t2=1/n;
        sum=sum+t1+t2;
    }
    sum=4*sum;
    printf("%.6f",sum);
}

输入一个不等于0的t2试试呢

一沙一世界,一花一天堂。无限掌中置,刹那成永恒。
2020-02-05 07:46
wfx753951
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-1-31
收藏
得分:0 
回复 2楼 叶纤
对不起,前段时间电脑坏了。
可是,我这个代码的目的是求PI的近似值,你给的这个代码好像解决不了问题
2020-02-11 15:52
wfx753951
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-1-31
收藏
得分:0 
回复 3楼 xianfajushi
结果是4,不是PI的近似值
2020-02-11 15:56
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
以下是引用wfx753951在2020-2-11 15:52:32的发言:

对不起,前段时间电脑坏了。
可是,我这个代码的目的是求PI的近似值,你给的这个代码好像解决不了问题

额。。。原来你在求π啊
#include<stdio.h>
#include<math.h>
main()
{
    double pi;    pi=4*atan(1.0);
  printf("%.2f",pi);
}

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-11 16:08
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
我复制粘贴下别人的代码,我没看懂,我估计你能看懂
#include <stdio.h>

int main( void )
{
    double piq = 0;
    for( unsigned i=1; i<=100000001; i+=2 )
        piq += (2.0-i%4)/i;
    printf( "%.2f\n", 4*piq );
}

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-11 16:22
wfx753951
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2020-1-31
收藏
得分:0 
回复 4楼 纯蓝之刃
您这样改确实能够得到PI的近似值,但是我想问的是为什么没有给t2赋值的情况下,程序仍然能运行并且得到正确的结果
2020-02-11 16:29
叶纤
Rank: 8Rank: 8
等 级:禁止访问
威 望:1
帖 子:658
专家分:848
注 册:2019-11-22
收藏
得分:0 
以下是引用wfx753951在2020-2-11 16:29:30的发言:

您这样改确实能够得到PI的近似值,但是我想问的是为什么没有给t2赋值的情况下,程序仍然能运行并且得到正确的结果

为什么t2没赋值仍然能得到结果
2楼已经回答你了
while循环并没有起到作用,而是直接得到了 sum=4*sum;也就是1*4=4

把学习时间浪费在混坛上是傻瓜行为,更何况自己的水平连一两都没到。
2020-02-11 16:43
快速回复:给一个式子求PI
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.093680 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved