S1E16动动手另一种写法
本帖最后由 songshu.wert 于 2021-8-10 21:06 编辑根据以下已知公式求 Pi 的近似值,要求正确计算出小数点后前 7 位(即3.1415926)。
为什么写出来结果是3.1415927
而不是3.1415926
#include <stdio.h>
#include <math.h>
int main ()
{
double pi = 0;
double i = 1;
double term = 1;
for (i = 1; term >= 1e-8; i++)
{
term = 1 / (2 * i - 1);
if ((int)i % 2 == 0)
{
pi = pi - term;
}
else
{
pi = pi + term;
}
}
printf("pi = %10.7f", pi * 4);
return 0;
} 因为电脑四舍五入了 本帖最后由 wangka 于 2021-8-10 21:14 编辑
因为/后面是求精确的数,而3.14159265358......太长了,四舍五入(解决方法课上有讲,认真听课{:10_282:} )
求最佳!!!!{:10_257:} wangka 发表于 2021-8-10 21:12
因为/后面是求精确的数,而3.14159265358......太长了,四舍五入(解决方法课上有讲,认真听课...
解决方法具体是?。。。{:10_254:} 试试round(term,7)
页:
[1]