用pi/4=1-1/3+1/5-1/7+....来求PI的近似值,(简单,给分)

snowman_pc 2002-10-03 04:38:32
用pi/4=1-1/3+1/5-1/7+....来求PI的近似值,

可为什么,在用float fenmu=1.0声明时就可以计算正确,

可改用int fenmu=1声明就会出现误差。


#include <math.h>
main()
{
float fenshu=1,sum=0,fenmu=1.0;/*fenshu为分数值,sum为累加,fenmu为分母*/
int fenzi=1; /* fenzi为分子*/
while(fabs(fenshu)>=1e-6)
{
sum=sum+fenshu;
fenmu=fenmu+2;
fenzi=-fenzi;
fenshu=fenzi/fenmu;
}
sum=sum*4;
printf("pi=%f\n",sum);
}


...全文
833 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
snowman_pc 2002-10-03
  • 打赏
  • 举报
回复
谢,明白,接分!
csr1103 2002-10-03
  • 打赏
  • 举报
回复
C的类型转换问题
PI是一浮点数
整型除整型=整型
fenmu定义为整型时当然无法得到正确的近似值。
tanghui21 2002-10-03
  • 打赏
  • 举报
回复
类型转换的问题
ylbug 2002-10-03
  • 打赏
  • 举报
回复
int/int得到的是int,int/float得到的是float

69,378

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧