C语言 运行结果不是理想值,错在哪里

2025-02-27 11:41:51
推荐回答(3个)
回答1:

本人测试没有问题 请LZ正解

大概数了下 LZ有45个左右的0 本人从40个开始测试 本人往上测试11个发现没有问题  (如果LZ截图无误的话有可能是你电脑机器本身的问题)

#include "stdio.h" 

double pi(double eps) 

{int i=1 ,j=3; 

double t=1.0,p=1.0,pi; 

while(t>=eps) 

{t=t*i/j; 

p+=t; 

i++; 

j+=2; 

pi=p*2; 

return pi; 

main() 

{double p,eps; 

while(1)

{

scanf("%lf",&eps); 

p=pi(eps); 

printf("%lf",p); 

printf("\n"); 

}

本人测试没有出现LZ所出现的问题

回答2:

我只想说 希望没有超过精度吧

回答3:

双精度一般是十六位

超了