标题:C语言 怎么根据下面的程序写出根据十边形的周长估算π的值?拜托啦
只看楼主
汽水菠萝
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2020-4-23
结帖率:50%
已结贴  问题点数:10 回复次数:6 
C语言 怎么根据下面的程序写出根据十边形的周长估算π的值?拜托啦
这是根据多边形周长估算π值的程序,我不太懂怎么算正十边形接近圆计算π值,还有就是如果用正10、20、30....1000边形接近圆计算π的变化趋势的话,直接改成 for(k=3;k<=1000;k+10)可以吗?

#include <stdio.h>
int main()
{
    int k=1;
    float s=0,t;

    for(k=3;k<=1000;k++)
    {

        t=0.5*sin(3.1415926/k);     //0.5是定义的半径

        s=2*t*k;
        printf("PI=%f\n",s);
    }
}
搜索更多相关主题的帖子: C语言 计算 for π int 
2020-05-07 22:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:5 
弧长 约等于 2*半径*sin(角度/2)

;k+10)可以吗?
------ 不可以,应该是 k+=10
2020-05-07 22:48
fulltimelink
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:7
帖 子:171
专家分:752
注 册:2020-4-1
得分:5 
可以先用海伦公式算单个三角的面积
×n得n边形的面积
套圆面积公式得圆周率
2020-05-08 01:56
汽水菠萝
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2020-4-23
得分:0 
回复 2楼 rjsp
如果改成计算十边形周长以计算π应该从哪里修改入手呢?谢谢指点
2020-05-08 07:58
汽水菠萝
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2020-4-23
得分:0 
回复 3楼 fulltimelink
要在我原来的程序上修改呀
2020-05-08 07:59
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
在 2楼 我说错了,因为我一开始以为是切正多边形。
如果是指切正多边形,那公式是正确的,不是“约等于”,而是“等于”。

如果改成计算十边形周长以计算π应该从哪里修改入手呢?谢谢指点
那只要将
  t=0.5*sin(3.1415926/k);
  s=2*t*k;
  printf("PI=%f\n",s);
中的 k 设为 10 就行了呀
2020-05-08 08:37
汽水菠萝
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2020-4-23
得分:0 
回复 6楼 rjsp
好的
2020-05-08 10:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501481-1-1.html




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

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