C语言:圆周率的计算Description根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))Input输入一个浮点数表示epsilon的值
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/01 06:39:06
![C语言:圆周率的计算Description根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))Input输入一个浮点数表示epsilon的值](/uploads/image/z/3813878-38-8.jpg?t=C%E8%AF%AD%E8%A8%80%EF%BC%9A%E5%9C%86%E5%91%A8%E7%8E%87%E7%9A%84%E8%AE%A1%E7%AE%97Description%E6%A0%B9%E6%8D%AE%E4%B8%8B%E9%9D%A2%E5%85%B3%E7%B3%BB%E5%BC%8F%2C%E6%B1%82%E5%9C%86%E5%91%A8%E7%8E%87pi%E7%9A%84%E5%80%BC%2C%E7%9B%B4%E5%88%B0%E6%9C%80%E5%90%8E%E4%B8%80%E9%A1%B9%E7%9A%84%E5%80%BC%E5%B0%8F%E4%BA%8Eepsilon.epsilon%E7%9A%84%E5%80%BC%E7%94%B1%E9%94%AE%E7%9B%98%E8%BE%93%E5%85%A5.pi%2F2%3D1%2B1%2F3%2B2%21%2F%283%2A5%29%2B3%21%2F%283%2A5%2A7%29%2B...%2Bn%21%2F%283%2A537%2A...%2A%282n%2B1%29%29Input%E8%BE%93%E5%85%A5%E4%B8%80%E4%B8%AA%E6%B5%AE%E7%82%B9%E6%95%B0%E8%A1%A8%E7%A4%BAepsilon%E7%9A%84%E5%80%BC)
C语言:圆周率的计算Description根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))Input输入一个浮点数表示epsilon的值
C语言:圆周率的计算
Description
根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.
pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))
Input
输入一个浮点数表示epsilon的值
Output
输出圆周率Pi的值,保留6位小数.
Sample Input
0.000001
Sample Output
3.141590
HINT
(参考:epsilon为0.01时,圆周率3.121501;epsioon为0.0001时,圆周率为3.141358)
#include<stdio.h>
int main()
{
int n;
double e,f,fz,fm,sum,pi;
n=0;
fz=1;
fm=1;
sum=0;
scanf("%lf",&e);
for(f=1;f>=e;n++)
{
if(n==0)
fz=1;
else
fz=fz*n;
fm=fm*(2*n+1);
f=fz/fm;
sum=sum+f;
}
pi=2*sum;
printf("%.6f\n",pi);
return 0;
}
可是交上去就是wrong answer,而且我的答案小数点最后一位和题目的答案差1.希望帮我看看哪里错了.
C语言:圆周率的计算Description根据下面关系式,求圆周率pi的值,直到最后一项的值小于epsilon.epsilon的值由键盘输入.pi/2=1+1/3+2!/(3*5)+3!/(3*5*7)+...+n!/(3*537*...*(2n+1))Input输入一个浮点数表示epsilon的值
在for循环后加一句: sum -= f;
你多加了最后那个小于epsioon的值.