注册 登录
编程论坛 C语言论坛

C语言 怎么根据下面的程序写出根据十边形的周长估算π的值?拜托啦

汽水菠萝 发布于 2020-05-07 22:14, 1979 次点击
这是根据多边形周长估算π值的程序,我不太懂怎么算正十边形接近圆计算π值,还有就是如果用正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);
    }
}
6 回复
#2
rjsp2020-05-07 22:48
弧长 约等于 2*半径*sin(角度/2)

;k+10)可以吗?
------ 不可以,应该是 k+=10
#3
fulltimelink2020-05-08 01:56
可以先用海伦公式算单个三角的面积
×n得n边形的面积
套圆面积公式得圆周率
#4
汽水菠萝2020-05-08 07:58
回复 2楼 rjsp
如果改成计算十边形周长以计算π应该从哪里修改入手呢?谢谢指点
#5
汽水菠萝2020-05-08 07:59
回复 3楼 fulltimelink
要在我原来的程序上修改呀
#6
rjsp2020-05-08 08:37
在 2楼 我说错了,因为我一开始以为是切正多边形。
如果是指切正多边形,那公式是正确的,不是“约等于”,而是“等于”。

如果改成计算十边形周长以计算π应该从哪里修改入手呢?谢谢指点
那只要将
  t=0.5*sin(3.1415926/k);
  s=2*t*k;
  printf("PI=%f\n",s);
中的 k 设为 10 就行了呀
#7
汽水菠萝2020-05-08 10:16
回复 6楼 rjsp
好的
1