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

时间:2021-08-01 22:41:58
用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);
}


4 个解决方案

#1


int/int得到的是int,int/float得到的是float

#2


类型转换的问题

#3


C的类型转换问题
PI是一浮点数
整型除整型=整型
fenmu定义为整型时当然无法得到正确的近似值。

#4


谢,明白,接分!

#1


int/int得到的是int,int/float得到的是float

#2


类型转换的问题

#3


C的类型转换问题
PI是一浮点数
整型除整型=整型
fenmu定义为整型时当然无法得到正确的近似值。

#4


谢,明白,接分!